国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C++調用C#的DLL程序實現方法

2019-10-29 21:37:07
字體:
來源:轉載
供稿:網友

本文通過例子,講述了C++調用C#的DLL程序的方法,作出了以下總結,下面就讓我們一起來學習吧。

把C#編譯成DLL或者Axtive控件,再由C調用!比如使用C++調用C#的DLL。

SwfDotNet是.net下輸出flash的類庫。SwfDotNet是C#編寫的,作者的C#水平,真是令我佩服。這是個特別好的讀寫Swf文件的庫。但是,我要用在C++項目中,怎么讓C++調用C#的DLL呢。今天一上午都在琢磨這個問題,耽誤了很多時間,原因是編譯是出現:warning C4819: 該文件包含不能在當前代碼頁(936)中表示的字符。請將該文件保存為 Unicode 格式以防止數據丟失。

接著就是一大堆的0x01等等。自己做了個Sample,仔細分析發現還是自己沒有搞清楚。正確的操作如下:

1 創建C# DLL,需要指定應用類型為“類庫”,代碼:

 

  1. namespace CSLib  
  2. {  
  3. public class Class1  
  4. {  
  5. private string name;  
  6. public string Name  
  7. {  
  8. get 
  9. {  
  10. return name;  
  11. }  
  12. set 
  13. {  
  14. name = /"Your Name: /" + value;  
  15. }  
  16. }  
  17. }  
  18. }  

2 C++客戶程序,是個控制臺應用,代碼: #using /"..//debug//CSLib.dll/"

 

 
  1. using namespace CSLib;  
  2. int _tmain(int argc, _TCHAR* argv[])  
  3. {  
  4. Class1 ^c = gcnew Class1();  
  5. c->Name = /"zzj/";  
  6. printf(/"%s//n/", c->Name);  
  7. return 0;  
  8. }  

3 注意事項:

1 使用#using引用C# DLL,而不是#include.我就是想當然的使用了后者,所以浪費了一上午的時間;

2 別忘了using namespace CSLib;

3 使用C++/clr語法,采用正確的訪問托管對象,即:使用帽子‘^',而不是星星‘*'。

以上是怎么調用的總結和幾點注意事項,對于C++調用C#的DLL程序可能還有其他的方法,歡迎大家進行討論。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 晋州市| 宁化县| 翁源县| 彭州市| 仁布县| 华蓥市| 都昌县| 建德市| 海原县| 白河县| 黄骅市| 惠来县| 当阳市| 固安县| 江达县| 新竹县| 三河市| 梓潼县| 察雅县| 海林市| 杭锦后旗| 平湖市| 大城县| 聊城市| 鄂尔多斯市| 诏安县| 怀安县| 贵州省| 富裕县| 石首市| 六盘水市| 黄山市| 南雄市| 二连浩特市| 哈密市| 中方县| 抚顺县| 蒲江县| 和田县| 鲜城| 腾冲县|