C#调用C++库知识点

DllImport方式:

CharSet属性:Ansi短字节和Unicode长字节

CallingConvention属性:Cdecl清理和被调用方清理堆栈

EntryPoint属性:定位函数入口。如果调用报“未找到入口”,用VS命令行工具的Dumpbin功能找到实际的函数名

C#参数定义:

char* --> 如果参数值不可变,定义为string,如果可变可以是StringBuild,IntPtr,byte[]。一般用StringBuild方便,如果获取到值后需要特定解码用byte[]

int& --> Int值类型为输出是用Ref int,否则为int

原文地址:https://www.cnblogs.com/xukan/p/10538647.html