C++挪用C#的DLL法式完成辦法。本站提示廣大學習愛好者:(C++挪用C#的DLL法式完成辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是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,須要指定運用類型為“類庫”,代碼:
namespace CSLib { public class Class1 { private string name; public string Name { get { return name; } set { name = \"Your Name: \" + value; } } } }
2 C++客戶法式,是個掌握台運用,代碼: #using \"..\\debug\\CSLib.dll\"
using namespace CSLib; int _tmain(int argc, _TCHAR* argv[]) { Class1 ^c = gcnew Class1(); c->Name = \"zzj\"; printf(\"%s\\n\", c->Name); return 0; }
3 留意事項:
1 應用#using援用C# DLL,而不是#include.我就是想固然的應用了後者,所以糟蹋了一上午的時光;
2 別忘了using namespace CSLib;
3 應用C++/clr語法,采取准確的拜訪托管對象,即:應用帽子‘^',而不是星星‘*'。
以上是怎樣挪用的總結和幾點留意事項,關於C++挪用C#的DLL法式能夠還有其他的辦法,迎接年夜家停止評論辯論。