我在C / C ++库中发现了这种函数声明,我想知道是否有任何以这种方式声明函数的标准......
SOMELIBAPI( someReturnType, someLibFuncName, (int arg1, int arg2));
感谢您提供给我的任何信息!
答案 0 :(得分:0)
这可能会有条件地扩展到
__declspec(dllexport) someReturnType someLibFuncName (int arg1, int arg2)
或
__declspec(dllimport) someReturnType someLibFuncName (int arg1, int arg2).
这样做的原因是它允许您在DLL和客户端应用程序中使用相同的标头。这样做也是suggested by MSDN。
这使问题保持开放,为什么使用类似函数的宏代替更简单的"正常"宏。
答案 1 :(得分:0)
他们正在使用宏来创建函数声明,可能类似于
#define SOMELIBAP(a, b, c) extern "C" a b c ;