小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

N種方法使用C++調(diào)用C#.NET庫

 quasiceo 2012-12-18

 http://stainboyx./2010/05/22/n%E7%A7%8D%E6%96%B9%E6%B3%95%E4%BD%BF%E7%94%A8c%E8%B0%83%E7%94%A8c-net%E5%BA%93/


為了減少篇幅,此文不描述何種場景下需要使用C++調(diào)用C#/VB等托管代碼,而直接給出三種常規(guī)方法和一些變通方法以供參考。

常規(guī)方法1:COM

使用C#把托管類注冊成COM,用regasm.exe注冊output assembly,然后用C++像調(diào)用COM一樣調(diào)用assembly里面的type。

優(yōu)點:編寫代碼簡單,調(diào)用方便

缺點:需要注冊output,發(fā)布不夠簡單

參考:http://www./KB/cs/ManagedCOM.aspx

常規(guī)方法2:CLR

C#常規(guī)編寫類,生產(chǎn)assembly,C++使用CLR編譯既可直接引用托管類。

優(yōu)點:編寫代碼簡單,調(diào)用方便

缺點:需要了解C++ CLR語法(既不像C++,又不像C#,總之很奇怪)

參考:http://www./KB/mcpp/cppcliintro01.aspx ,http://msdn.microsoft.com/en-us/library/k8d11d4s.aspx

常規(guī)方法3(推薦):API

C#常規(guī)編寫類,生產(chǎn)assembly,C++使用SDK提供的CLR非托管接口(CLRCreateInstance)進(jìn)行調(diào)用。

優(yōu)點:傳統(tǒng)C#編程,傳統(tǒng)C++編程

缺點:暫時還沒發(fā)現(xiàn)

參考:http://nport./SourceControl/changeset/view/45681#903468 ,http://msdn.microsoft.com/en-us/library/dd537633.aspx

變通方法:

1. 使用C#/VB包裝現(xiàn)有托管類,注冊成Windows服務(wù),暴露SOAP web service。VC2005可以使用非托管代碼添加引用Web service。

2. 使用C#/VB包裝現(xiàn)有托管類,注冊成Windows服務(wù)。C++利用Windows message和服務(wù)通訊。

3. 使用C#/VB包裝現(xiàn)有托管類,注冊成Windows服務(wù)。C++利用Windows共享內(nèi)存和服務(wù)通訊。

其實利用雙進(jìn)程通訊的方法,可以演變出各種各樣調(diào)用的思路。聰明的你可以充分發(fā)揮想象力,寫出自己獨有的調(diào)用模式。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多