Chinaunix首页 | 论坛 | 博客
  • 博客访问: 255787
  • 博文数量: 99
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 246
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-03 18:23
个人简介

qrasvasdf

文章分类

全部博文(99)

文章存档

2016年(1)

2015年(36)

2014年(62)

我的朋友

分类: LINUX

2014-10-16 14:51:18

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