C++項目中采用CLR的方式調用C#編寫的dll


1、注意事項:在編寫C#DLL類庫時,最好不要出現相同的命名空間,否則在C++中調用可能會出現編譯錯誤。
2、將C#的源碼生成的“dll”文件復制到C++項目中的Debug目錄下
3、將C++項目屬性設置為公共語言運行時支持
4、在項目中導入dll文件和引用命名空間

#using "../debug/xxx.dll"
using namespace xxxx;

5、實例化C#對象:CL ^cl = gcnew CL();

6、調用C#帶out string[] 參數的方法:intPowerOff(out string[] FrameAry)

array<String^>^  FrameAry = gcnew array<String^>(0);
int result = cl->PowerOff(FrameAry);
printf("上行報文:%s", FrameAry[0]);

7、調用帶int類型和string類型的方法

int r = cl->InitSetting(1, 3000, 200, "193.168.18.11", 10004, 20000);

8、調用帶int[] 、Single[]類型參數的方法:boolSetHarmonic(int Phase,int[] int_XTSwitch,  Single[] sng_Value, Single[] sng_Phase,out string[] frameAry)

array<String^>^  FrameAry = gcnew array<String^>(0);
array<float>^  floatArray = gcnew array<float>(1);
array<int> ^ intArray = gcnew array<int>(1);
int n = cl->SetHarmonic(1, intArray, floatArray, floatArray, FrameAry);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM