gcc (GCC) 4.7.2
c89
你好,
我一直在看一个测试套件,我注意到这个类似函数的宏声明如下:
#define MU_SUITE_START() char *msg = NULL
但是,这样做是否有任何真正的区别:
#define MU_SUITE_START char *msg = NULL
宏只是进行文本替换,所以我认为不会有任何性能问题。
使用 cpp 我得到以下结果,所以这里没什么特别的。
类函数宏
char *msg = __null;
马可
char *msg = __null;
只是一个旁注:是否值得声明一个不提供输入参数的类似函数的marco?在这里,我没有传递任何参数,即
#define PRINT_MSG() printf("This is the message\n")
如果没有输入参数,为什么还要使用类似函数的宏,这不是更好吗?
#define PRINT_MSG printf("This is the message\n")
非常感谢您的任何建议,