将##后面的字符拼接,可以理解为用一个宏帮你敲代码,敲出来的结果,就是宏展开的结果,可以是变量名,函数名,关键字什么的。
但是,宏的参数却不能是变量,或者字符串
1、拼接函数举例
#include "stdafx.h"
#define VOS_GET_FUNC(a,b) (a##_##b)
void test_func()
{
printf("Hello world from %s\n", __FUNCTION__);
}
int _tmain(int argc, _TCHAR* argv[])
{
VOS_GET_FUNC(test,func)();
return 0;
}