我在VS中創建了新的Win32項目,併爲此選擇了動態庫(* .dll)。Dumpbin顯示奇怪的方法名稱(在MS Visual C++中生成導出函數)
我在主文件中定義的一些出口函數:
__declspec(dllexport)
int TestCall(void)
{
int value = 4/2;
std::cout << typeid(value).name() << std::endl;
return value;
}
__declspec(dllexport)
void SwapMe(int *first, int *second)
{
int tmp = *first;
*first = *second;
*second = tmp;
}
當我已經看過了dumpin /出口,我有:
ordinal hint RVA name
1 0 00001010 [email protected]@[email protected]
2 1 00001270 [email protected]@YAHXZ
我打電話C#版本是這樣的:
[DllImport(@"lib1.dll", EntryPoint = "[email protected]@YAHXZ",
CallingConvention = CallingConvention.Cdecl)]
static extern int TestCall();
這不是使用導出方法的正確形式。我在C++ dll項目中爲導出方法生成此類名稱失敗的地方在哪裏?