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中,你定义了公共变量和在构造函数中进行了初始化,那你自己要重新定义一个接口类,然后导出接口类中的函数。

posted @ 2013-11-25 21:54  SupremeGISER  阅读(235)  评论(0编辑  收藏  举报