C# 调用C++DLL注意事项
2010-03-22 15:10
C#调用C++ DLL 注意事项
1.c#只能引入c++的函数,而不能引入类,除非dll做成com的
2.c++中导出函数时要用def文件导出,如果用static _declspec(dllexport) double Add(double a,double b); 这种方式导出,c#调用时的入口点会被转为乱七八糟的东西,但可以用Exescope查出来。
3.如果你的操作系统是64位的,调用是会提示dll无效,这时要把平台调整为x86才可以;
4.把c++dll的属性,改为支持公共语言运行时,才能在c#中引用。
5.函数声明方法:
[DllImport("CMath.dll", EntryPoint = "", CharSet = CharSet.Auto)]
public static extern double Add(double a,double b);
6.如果c++的dll中,你定义了公共变量和在构造函数中进行了初始化,那你自己要重新定义一个接口类,然后导出接口类中的函数。