2013-01-11 131 views
0

是否可以导出省略号(多元函数)函数? 示例从dll导出省略号函数

// dll function 
extern "C" __declspec(dllexport) int __cdecl LogText(const wchar_t* fmt, ...); 

// application 
typedef int (__cdecl *LogText)(const wchar_t* fmt, ...); 
LogText doLog; 
doLog = (LogText) GetProcAddress(hDll, "LogText"); 
+0

是客户端C++? –

回答

2

当然。例如,C运行时DLL导出printf

但是,您的代码将无法正常工作,因为它没有考虑到name mangling。对于__cdecl,这意味着在呼叫前面加上下划线来GetProcAddress

doLog = (LogText) GetProcAddress(hDll, "_LogText"); 
+0

谢谢!我错过了“_” – user1112008