C# 调用C++非托管DLL, C++中的const char *对应C#中的IntPtr类型。

来源:互联网 发布:mac发送pkg自动zip 编辑:程序博客网 时间:2024/05/19 00:47

最近在做本科毕业设计,需要调用C++编写的DLL与运动控制卡进行通信。其中一个返回string类型的函数在VS2010中能正常使用,但在VS2012中却报错。如下图:


翻出老师给的C++代码资料,如下截图:

就想,C++里面中的const char* 对应C#的什么类型呢?

试过用StringBuilder之类的不行,然后在网上查到,可以用IntPtr类型。修改后,如最上的那个图。然后如下图所示:就可以获得返回的字符,使用Marshal,需要添加命名空间:using System.Runtime.InteropServices;。


以上。

1 0