自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談C++調(diào)用C#的DLL程序方法

開發(fā) 后端
本文通過例子,講述了C++調(diào)用C#的DLL程序的方法。作者親身體會,并作出了以下總結(jié),下面就讓我們一起來學(xué)習(xí)吧。

C#編譯成DLL或者Axtive控件,再由C調(diào)用!比如使用C++調(diào)用C#的DLL。

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

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

1 創(chuàng)建C# DLL,需要指定應(yīng)用類型為“類庫”,代碼:

  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++客戶程序,是個控制臺應(yīng)用,代碼: #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 幾點要記?。?/p>

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

2 別忘了using namespace CSLib;

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

以上是怎么調(diào)用的總結(jié)和幾點需要注意的東西。對于C++調(diào)用C#的DLL程序可能還有其他的方法,僅供參考。

【編輯推薦】

  1. 淺析C++Builder調(diào)用Visual C++ DLL
  2. 簡單介紹C# DLL函數(shù)
  3. C# dll注入方法之介紹
  4. ASP調(diào)用C# DLL發(fā)送郵件方法共享
  5. 學(xué)習(xí)C# DllImport相關(guān)知識

 

責(zé)任編輯:于鐵 來源: 中國IT實驗室
相關(guān)推薦

2009-08-03 12:57:27

C#調(diào)用DLL

2009-08-05 09:30:39

C#調(diào)用DLL函數(shù)

2009-08-05 09:40:02

C#調(diào)用DLL函數(shù)

2009-07-31 17:28:35

C#語言調(diào)用DLL

2009-08-07 17:22:36

C#調(diào)用dll導(dǎo)出函數(shù)

2009-09-04 17:34:11

C#CC++

2009-08-25 16:16:43

C# oledbcon

2009-08-14 17:58:05

C#接口方法

2009-08-28 15:58:54

C#窗體里調(diào)用

2009-09-02 16:36:37

C#調(diào)用Excel對象

2010-01-26 14:10:22

Visual C++

2009-08-05 16:29:18

C#調(diào)用C++動態(tài)鏈接

2009-08-05 17:06:39

ASP調(diào)用C# DLL

2009-08-05 16:41:36

C#調(diào)用VC dll

2009-09-02 17:16:01

冒泡排序

2010-03-05 16:56:42

Python綁定C++

2009-08-07 17:32:17

C#編譯程序

2009-08-19 14:35:12

C++和C#相互調(diào)用C

2009-08-21 17:39:45

C#調(diào)用iisapp.

2009-08-31 18:05:14

C#調(diào)用WalkTre
點贊
收藏

51CTO技術(shù)棧公眾號