簡體   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