首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gcc -Q -v的“选项启用”和“传递的选项”之间有什么区别?

使用gcc -Q -v的“选项启用”和“传递的选项”之间有什么区别?
EN

Stack Overflow用户
提问于 2016-07-07 11:28:41
回答 1查看 771关注 0票数 1

我正在寻找编译期间使用的默认编译器标志。因此,我使用了命令gcc -Q -v <example.c>,感兴趣的输出如下所示:

GNU C (Ubuntu 4.8.4 -2 ubuntu1~14.04.3)版本4.8.4 (x86_64-linux- GNU ),由GNU C版本4.8.4、GMP版本5.1.3、MPFR版本3.1.2-p3、MPC版本1.0.1编译 GGC启发式算法:-param ggc-min-展开=100-param ggc heapsize=131072 通过的选项:-v -imultiarch x86_64-linux-gnu example.c -mtune=generic --mtune=generic=x86-64-fstack- -Wformat --Wformat-Wformat-安全性 启用了以下选项:-fban式-循环-优化fmath errno-fmerge- -fpeephole -fprefetch-循环数组-freg struct-stalled fsched-stalled关键路径-启发式-fsched-dep-count-fsched-fsched-group-启发式-fsched-fsched-最后-insn-启发式-fsched-fsched-c-fsched-快速c-fsched-fsched-失速-insns dep-fshow dep-fshow-列-fsplit s-不滚筒-fstack-fstack-ivs f严格-易失性。-bitfields -fsync-ftree-coalesce vars -ftree-cselim -ftree-forw赞助-ftree-循环-if-转换-ftree-循环-im-ftree-循环-ivcanon-ftree-循环--并行化-循环= -ftree-phiprop ftree-pta-ftree -ftree-scev-cprop -ftree-slp-vectorize -ftree-vect-循环-版本-funit-a-a时间-风向表-fvar-跟踪-跟踪-赋值化-bss-m128位-长-长-双-m64 -m80387 -m累计-传出-args-恶意-mfp-mfp-ret-in-in-387 -mfxsr -mglibc -mieee-mlong-mlong-80 -mmmx -mno-se4 -mpush-args -mred-zone -msse -msse2 -mtls-mtls-seg-ref

我现在想知道:启用选项的和传递的选项之间有什么区别?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-07 12:27:00

传递给选项是通过配置(如-march=x86-64 -fstack-protector )或命令调用(如-v )添加到命令行的选项。这意味着这些选项在默认情况下不启用,必须由gcc命令指定。

启用选项的是启用的选项,通常用于在特定系统上使用该特定的gcc进行编译,只要通过选项,您就不会禁用其中的一些选项。

例如,在一个明确的环境中,调用gcc example.c将给您example.c作为只传递的选项,但是所有已启用的选项仍然相同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38244309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档