宏定义/条件编译的一些用法
一、条件编译时, 宏定义的判断
以下代码判断是否宏定义了"DEBUG"或者"LOG"
- #if( defined(DEBUG) || defined(LOG) )
- //do something
- #endif
二、编译时宏定义
在编译时, 加入"-D"进行宏定义 "-D"后面参数是需要定义的宏, "-D" 和 宏之间可以不要空格.
如 "-D DEBUG" 与 "-DDEBUG" 等效.
下面是Makefile的例子:
1 定义了宏: -DDEBUG -DLOG
2 定义了宏的值: -D DEF_MinimemSpeed=5 -D DEF_CheckInterval=60
3 定义了宏的字符串值: -D DEF_StorePath=\"/home/leon/data\"
- # @zhonghaohua
- flags = -g -DDEBUG -DLOG
- libs = -l pthread -l curl
- def = -D DEF_StorePath=\"/home/leon/data\" -D DEF_MinimemSpeed=5 -D DEF_CheckInterval=60
- object: sDownloader.c sDownloader.h
- gcc $(flags) $(libs) $(def) sDownloader.c -o sDownloader
- clean:
- rm -f *.o sDownloader
end.
阅读(1268) | 评论(0) | 转发(0) |