问题描述
如果C函数传递,或者返回字符串指针,C#如何调用?假设C函数:extern"C"DLL_EXTERNCHAR*__stdcallget_str(void);extern"C"DLL_EXTERNvoid__stdcallset_str(CHAR*);extern"C"DLL_EXTERNCHAR*__stdcallget_set_str(CHAR*);C#如何调用?
解决方案
解决方案二:
char*一般用string类型代替,参数的话,也可以用string类型代替,但是当参数为结构数组的时候,一般都用ref或者out去传递。
解决方案三:
看看这本书《精通.NET互操作》
解决方案四:
好像C#有IntPtr这个接口,接收后在进行类型转换
解决方案五:
http://topic.csdn.net/u/20110514/17/bcbdd4d8-43bf-4c54-aa45-bb0177ede001.html看看这个帖子吧^_^主要就是了解System.Runtime.InteropServices.Marshal这个类的用法……
时间: 2024-10-21 20:21:53