2013-04-26 140 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