从dll导出省略号函数

Exporting ellipsis function from dll

本文关键字:省略号 函数 dll      更新时间:2023-10-16

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

// 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");

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

但是,您的代码将不能正常工作,因为它没有考虑到名称混淆。对于__cdecl,这意味着在对GetProcAddress的调用中加上下划线:
doLog = (LogText) GetProcAddress( hDll, "_LogText");