C C 在編譯的過程中動態指定巨集

2021-06-23 01:45:46 字數 583 閱讀 8063

在日常的軟體程式設計中,軟體的版本往往根據使用物件的不同而編譯出不同的版本。

一種很實用的編譯方法:在編譯的過程中指定巨集,

例如:gcc def.c --define vip

檔名:def.c

//在命令中指定巨集

//gcc *.c --define 巨集名稱

#include int main()

使用:gcc def.c --define vip -o def

[root@localhost c]# gcc def.c --define vip -o def

[root@localhost c]# ./def

豪華版[root@localhost c]#

使用:gcc def.c -o def            //未指定巨集

[root@localhost c]# gcc def.c -o def

[root@localhost c]# ./def

普通版[root@localhost c]#

理解編譯器在編譯過程中做了什麼

今年開了作業系統課,課上老師提了乙個問題 從乙個儲存程式 的文字檔案到可執行的程式,編譯器做了啥?由於之前買過 深入了解計算機系統 這本書,剛買來時受熱就翻了其中一部分章節,其中就有講到上述所問的講解,索性就參考其上的講解寫出來 我會以乙個hello.c的c程式貫穿整個文章,具體 如下 includ...

bitcoind編譯過程中的問題

本文列出個人在編譯位元幣程式bitcoind以及啟動執行中遇到的問題。makefile.am 10 error libtool library used but libtool is undefined makefile.am 10 the usual way to define libtool i...

那些隱藏在編碼過程中的效能(一)

引言 這篇文章主要對編碼過程中的一些影響程式效能的編碼習慣進行整理說明,文中的示例主要是c c 的語言來舉例,有些可能是偽 但總體上應該不會影響閱讀。可能因為篇幅和精力的問題,有些內容寫的不是很細,又或者有錯誤,可以跟我交流。1.大迴圈放到內側 對於多重迴圈來講,將大的迴圈放到內側,可以減少壓棧出棧...