打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
宏定义/条件编译的一些用法
http://blog.chinaunix.net/uid-20692625-id-3188819.html
2012
宏定义/条件编译的一些用法
一、条件编译时, 宏定义的判断
    以下代码判断是否宏定义了"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.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
关于VS中区分debug与release,32位与64位编译的宏定义
学习VC MFC开发必须了解的常用宏和指令
编译预处理指令【精】
C/C++预处理指令#define,#ifdef,#ifndef,#endif…
IOS项目打包除去NSLog和NSAssert处理之阿堂教程
iOS #define和预编译指令
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服