C/C++中的宏扩展

macro expansion in C/C++

本文关键字:扩展 C++      更新时间:2023-10-16

我有一个来自某人代码的宏:

#define Q_DEF_PROTOTYPE( Type, Name ) Type (*Name)
#define COPY_FP( pDest, pSrc ) (*((void**)(&(pDest)))) = ((void*)(pSrc))
#define LIB_QUERY(lib_handle, proc)  dlsym(lib_handle, proc)
#define Q_DEF_PROTOTYPE( Type, Name ) 
COPY_FP( p->Name, LIB_QUERY( g_library, STRINGIZE(FUNC(Name)) ) ); 
void dummy_##Name

不确定,"void dummy_##Name"是干什么的?谢谢

它将##Name替换为字符串形式的Name参数值。

Q_DEF_PROTOTYPE(myType, objectName) => void dummy_objectName