Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1146488
  • 博文数量: 177
  • 博客积分: 761
  • 博客等级: 上士
  • 技术积分: 1518
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-04 22:37
文章分类

全部博文(177)

文章存档

2017年(1)

2016年(3)

2015年(33)

2014年(48)

2013年(60)

2012年(32)

分类: LINUX

2014-10-04 16:55:59

宏定义/条件编译的一些用法
 
一、条件编译时, 宏定义的判断
    以下代码判断是否宏定义了"DEBUG"或者"LOG"

  1. #if( defined(DEBUG) || defined(LOG) )
  2.     //do something
  3. #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\"
  1. # @zhonghaohua
  2. flags = -g -DDEBUG -DLOG
  3. libs = -l pthread -l curl
  4. def = -D DEF_StorePath=\"/home/leon/data\" -D DEF_MinimemSpeed=5 -D DEF_CheckInterval=60

  5. object: sDownloader.c sDownloader.h
  6.     gcc $(flags) $(libs) $(def) sDownloader.c -o sDownloader

  7. clean:
  8.     rm -f *.o sDownloader

end.
阅读(1268) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~