C#调用C DLL参数问题
首先回顾一下API和C#参数类型的基本对应关系:
需要注意的是这个对应关系是传入参数的对应关系,如果是输出参数,LPSTR和LPCSTR(也就是C/C++里面的char*),对应的就要是StringBuider。
例如:int TEST(char* result)
其中result是输出参数,那么在c#中,就应该使用 int TEST(StringBuider result),而不是ref string,否则会报内存错误。
所以总结一下:C函数中参数类型是Char*
,如果是传入参数,那么C#中就应该使用string或者StringBuider,如果是输出参数,就直接使用StringBuider。
C#调用C DLL参数问题