您的位置:首页 > 编程语言 > C语言/C++

c语言中宏定义的用法

2015-09-22 10:52 381 查看
1 带有-D的宏,一般用于make中:

ifndef $SVN_BASE
SVN_BASE=$(VER_INFO_SVN_BASE)
endif
VER_INFO_SVN_BASE是变量,类型是整数;
VER_INFO_VER_NO 是变量,类型是字符串;

PROCESSOR_CFLAGS+=-D COMP_DATE=\"$(COMP_DATE)\" -DCOMP_TIME=\"$(COMP_TIME)\" -D SVN_BASE=$(SVN_BASE) -D SVN_FOS=\"$(VER_INFO_VER_NO)\"


2 在.c文件中使用多宏定义:

#define DEFAULT_VERSION_NUM       "Version "
#define NUM_TO_STRING1( x ) #x
#define NUM_TO_STRING( x ) NUM_TO_STRING1( x )
#define DEFAULT_FOS_VERSION DEFAULT_VERSION_NUM":"NUM_TO_STRING(SVN_FOS)"("NUM_TO_STRING(SVN_BASE)")"


宏里如果还需要使用宏,要把子宏转换为字符串的形式,这样在打印时%s即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: