我是 C++ 新手,试图了解这两个宏在此 FileMaker 插件示例中的作用。
#define FMX_PROC(retType) retType __stdcall
#define FMX_PROCPTR(retType, name) typedef retType (__stdcall *name)
Run Code Online (Sandbox Code Playgroud)
到目前为止,我知道它们都是宏,并且是FMX_PROCPTR一个指向接受这两个参数的函数的指针,并且 __stdcall 是某种调用约定(决定不深入研究这意味着什么)。
FMX_PROC(retType)我不明白的是每行的结尾,以及后面的部分FMX_PROCPT(retType, name)。
可能是间距让我感到困惑,但是retType __stdcall返回类型是FMX_PROC(retType)? 或者它给参数一个类型?
代码中的其他地方FMX_PROC(retType)是这样使用的
static FMX_PROC(fmx::errcode) Do_FMmp_ConvertToBase( short /* funcId */, const fmx::ExprEnv& /* environment */, const fmx::DataVect& dataVect, fmx::Data& results )
Run Code Online (Sandbox Code Playgroud)