C/C++中的##用法
##用来连接前后两个参数,把它们变成一个字符串。
内核中有很多的宏定义,在宏定义
define
中经常看到两个字符串##和#,这里把它的用法做一下说明:
##
是一个连接符号,用于把参数连在一起,例如:
#define FOO(arg) my##arg
则
FOO(abc)
相当于
myabc
#define CSS_DELETE_SERVIC_EX(ClassName) \
{ \
Delete##ClassName(); \
}
#define CSS_ADD_SERVIC_EX_EXTERN(ClassName) \
extern void Add##ClassName(BYTE, DWORD, DWORD, WORD, WORD, DWORD, DWORD);
#define CSS_MODIFY_SERVIC_EX_EXTERN(ClassName) \
extern void Modify##ClassName(BYTE, DWORD, DWORD, WORD, WORD, DWORD, DWORD);
#define CSS_DEL_SERVIC_EX_EXTERN(ClassName) \
extern void Delete##ClassName();