zoukankan      html  css  js  c++  java
  • 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);
    欢迎评论留言交流
  • 相关阅读:
    javaWeb下载
    javaWeb上传
    JavaWeb过滤器
    JavaWeb中的监听器
    数据库dbutils
    数据库连接池
    51nod 1837 砝码称重【数学,规律】
    Codeforces Round #437 (Div. 2)[A、B、C、E]
    Codeforces Round #436 (Div. 2)【A、B、C、D、E】
    Codeforces Round #435 (Div. 2)【A、B、C、D】
  • 原文地址:https://www.cnblogs.com/netlws/p/9050184.html
Copyright © 2011-2022 走看看