gcc之-imacros选项
生活随笔
收集整理的這篇文章主要介紹了
gcc之-imacros选项
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/********************************************************************************************************************************
原文地址:http://blog.chinaunix.net/uid-571104-id-2734615.html
轉(zhuǎn)載說明:這個(gè)是-D的升級版!!
********************************************************************************************************************************/
? ? 在一大堆代碼面前,而你需要修改的是所有代碼中的一個(gè)DEBUG函數(shù),這可是個(gè)難事啊。現(xiàn)在有個(gè)好辦
法,就是啟用gcc的-imacros選項(xiàng)。??? 我們可以這樣來用,如下例:
#include <stdio.h> #include <stdlib.h>int main(int argc, char** argv) {_DEBUG("OK%d\n", 100);DEBUG("YES", 1231);DEBUG1("OK?%d\n", 10000);return 0; }
我們沒有定義_DEBUG和DEBUG函數(shù),所以我們可以把想定義的宏放在一個(gè)文件里:
#define _DEBUG printf #define DEBUG(args...) fprintf(stderr, args) #define DEBUG(args...) fprintf(stderr, "NEW: %s%d\n", args) #define DEBUG1(args...) fprintf(stderr, "DEBUG1:"args)
如果這個(gè)文件叫macro
那么結(jié)合gcc可以這樣來使用macro文件里的宏:
gcc -imacros macro -o test test.c
如果你想要重新定義宏或函數(shù),而又不想修改一大堆代碼的話,這種方法最適合不過了!
總結(jié)
以上是生活随笔為你收集整理的gcc之-imacros选项的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么下载淘宝主的视频
- 下一篇: gearman服务连接php,linux