Chinaunix首页 | 论坛 | 博客
  • 博客访问: 456854
  • 博文数量: 42
  • 博客积分: 1325
  • 博客等级: 中尉
  • 技术积分: 1312
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-13 18:00
个人简介

呵~~~呵~~~

文章分类

全部博文(42)

文章存档

2016年(3)

2015年(1)

2014年(2)

2013年(2)

2012年(7)

2011年(11)

2010年(3)

2009年(13)

我的朋友

分类: LINUX

2012-04-25 13:51:47

宏定义/条件编译的一些用法
 
一、条件编译时, 宏定义的判断
    以下代码判断是否宏定义了"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.
阅读(6773) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~