我用C ++创建了一个DLL,并用[DllImport]加载到C#中。
导出时没有调用约定,是否__cdecl在C ++中是默认的?
使用函数__cdecl可以使用CallingConvention.StdCall或CallingConvention.Winapi吗? (它在我的测试中起作用,我不使用'变量参数')
答案 0 :(得分:2)
在没有调用约定的情况下导出时,C ++中是否默认为
__cdecl
?
是
可以将
CallingConvention.StdCall
或CallingConvention.Winapi
与函数__cdecl
一起使用吗?
没有。使用CallingConvention.Cdecl
。使用错误的调用约定可能似乎适用于某些函数,但它是错误的,并且在某些时候你会被捕获。