2013-04-26 70 views
4

摘要:是什麼做的-fgcc-mclang編譯器選項將焉附?什麼做在gcc /鐺編譯器選項-f和-m代表

詳細

當使用clang我注意到,許多編譯器選項開始-f和其他人-m開始。我認爲有一些歷史的原因,我很好奇,所以我看着gcc幫助,看到以下內容:

選項與-g,-f,-m,-O,-W,開始或--param會自動傳送到由gcc調用的各個子進程。爲了 將其他選項傳遞給這些進程,-W選項必須使用 。

如果我猜我認爲-f可能代表前端和-m機器。但我有興趣聽到更全面的答案,可能包括gcc調用的其他子流程。

+3

http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html – nhahtdh 2013-04-26 01:52:44

+0

@ Gabriel'-m'可以代表「微處理器」。 – Morwenn 2013-04-26 14:03:23

回答

1

我沒有指定'f''m'的具體來源,但我們可以根據文檔中的使用模式進行推斷。

'f'代表'flag'。如果通過經由「-fflag」和關閉指定

標誌上「-fnoFLAG」

例如:

-fpic   # flag to set position independent code 
    -fno-builtin # don't recognize build in functions ... 

技術定義是,「F」定義「控制中使用的接口約定代碼生成「。

的Src: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html (例如-fpci,當該標誌被設定)


'M'代表模式。一個一般特徵是它有時有參數。例如

-mabi=name #abi mode = name 
-mcpu=cpu 

源: https://gcc.gnu.org/onlinedocs/gccint/Standard-Names.html(如...當這個模式 ...)

+0

聽起來很合理。你有沒有得到一個回答4年前未回答的問題的徽章:)? – 2017-08-04 01:43:41

+0

: - D.我花了時間回答這個問題,因爲昨天我在閱讀GCC關於編譯共享庫(使用-fpci)的文章時尋找同樣的東西,並且想知道'f'是什麼。 – 2017-08-04 14:12:11