繁体   English   中英

C / C ++:奇怪的库函数声明

[英]C/C++ : A weird library function declaration

我在C / C ++库中发现了这种函数声明,并且我想知道是否有关于以这种方式声明函数的任何标准...

SOMELIBAPI( someReturnType, someLibFuncName, (int arg1, int arg2));

感谢您提供给我的任何信息!

这可能有条件地扩展到

__declspec(dllexport) someReturnType someLibFuncName (int arg1, int arg2) 

要么

__declspec(dllimport) someReturnType someLibFuncName (int arg1, int arg2).

这样做的原因是,它允许您在DLL和客户端应用程序中使用相同的标头。 MSDN建议这样做。

但是,这使问题悬而未决,为什么使用函数式宏而不是更简单的“普通”宏。

他们正在使用宏来创建函数声明,可能类似于

#define SOMELIBAP(a, b, c) extern "C" a b c ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM