http://blog.chinaunix.net/uid-20692625-id-3188819.html
2012
宏定义/条件编译的一些用法
一、条件编译时, 宏定义的判断
以下代码判断是否宏定义了"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.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。