我从静态库导出函数,如下所示:
extern "C"
{
__declspec(dllexport) HRESULT CreateGraphicsDevice(HINSTANCE hDLL, IAMG3DGraphicsDevice **pInterface);
}
我的所有代码都是用C ++编写的,所以我不明白为什么我需要extern" C"。例如,如果我把:
extern __declspec(dllexport) HRESULT CreateGraphicsDevice(HINSTANCE hDLL, IAMG3DGraphicsDevice ** pInterface)
无法从DLL访问该函数。为什么是extern" C"如果我的代码是用c ++编写的,而不是直接在函数声明之前放置extern,那么这是必需的吗?