我有一个由具有以下签名的C库导出的函数:
extern "C" BOOL Func()
该函数在VB.NET代码中声明如下:
<DllImport("mylib.dll", CallingConvention:=CallingConvention.Cdecl)>
Private Shared Function Func() As Boolean
End Function
问题是当我从.NET代码调用函数时,我得到一个ExecutionEngineException。
鉴于在此C代码中BOOL
的typedef为int
,声明是否应该不同?如果是这样,我该如何宣布这个?是Short
还是Int32
?我需要编制返回值吗?