C++项目中采用CLR的方式调用C#编写的dll

本文介绍如何在C++项目中调用C#编写的DLL类库,包括注意事项、配置步骤及示例代码。从环境搭建、命名空间处理到具体方法调用,全面解析跨语言调用的技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);

 

转载于:https://www.cnblogs.com/netlws/p/9050184.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值