gcc編譯器,加 D選項,編譯時新增巨集定義

2021-10-01 10:32:50 字數 966 閱讀 1910

gcc使用-d選項,在編譯時會在可執行檔案中新增巨集定義。相當於新增了全域性巨集

-d 引數在實際開發中還是經常使用的,比如可通過定義不同的巨集,實現選擇性編譯,編譯時定義不同的巨集就編譯相對應的**。

例:test.c

#include int main(void)

1.編譯時不新增任何巨集:

root@qiujun:/home/qiujun/x6000test# gcc -o test test.c
執行結果:

root@qiujun:/home/qiujun/x6000test# ./test 

666

可見沒有輸出hello world,只輸出了666。

2.編譯時新增-dlinux,再執行:

root@qiujun:/home/qiujun/x6000test# gcc -o test test.c -dlinux

root@qiujun:/home/qiujun/x6000test# ./test

hello world

666

可見輸出了hello world和666。說明巨集linux編譯時被新增了!

3.編譯時新增-d linux,再執行:

root@qiujun:/home/qiujun/x6000test# gcc -o test test.c -d linux

root@qiujun:/home/qiujun/x6000test# ./test

hello world

666

效果和新增-dlinux是一樣的。

GCC編譯器的 std選項

gcc支援在編譯的時候使用 std選項來選擇編譯語言的標準。程式本身也是在發展的,不斷變化的。以 c 語言為例,發展至今該程式語言已經迭代了諸多個版本,例如 c89 偶爾又稱為 c90 c94 c89 的修訂版 c99 c11。同樣,c 語言也經歷了很多的標準變化,例如c 11,c 14,以及現在最...

GCC編譯鏈結時選項

2.3 gcc 鏈結庫檔案的使用 在 linux 下開發軟體時,完全不使用第三方函式庫的情況是比較少見的,通常來講都需要借助乙個或多個函式庫的支援才能夠完成相應的功能。從程式設計師的角度看,函式庫實際上就是一些標頭檔案 h 和庫檔案 so 或者 a 的集合。雖然 linux 下的大多數函式都預設將標...

GCC編譯器選項及優化提示

glibc binutils gcc 配置選項簡介 gcc編譯優化指南 本文作者十分願意與他人共享勞動成果,如果你對我的其他翻譯作品或者技術文章有興趣,可以在如下位置檢視現有作品的列表 金步國作品列表 bug報告,切磋與 很多弟兄可能都很關心如何優化編譯自己的程式,雖然本人不贊成 骨灰 玩法,卻也不...