2013-01-11 69 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