GCC编译器选项解析

GCC编译器选项解析

总览

总览(SYNOPSIS)

gcc [options] filename ...
g++ [options] filename ...       

总体选项(Overall Option)

选项 解释
-c 编译或汇编源文件,但是不作连接.编译器输出对应于源文件的目标文件.
-o 指定输出文件,如果没有使用 -o 选项,默认的输出结果是:可执行文件为 a.out

调试选项(DEBUGGING OPTION)

选项 解释
-g 以操作系统的本地格式(stabs, COFF, XCOFF,或DWARF),产生调试信息,GDB能够使用这些调试信息
-glevel 请求生成调试信息,同时用level指出需要多少信息,默认的level值是2;
level1: 输出最少量的信息,仅够在不打算调试的程序段内backtrace.包括函数和外部变量的描述,但是 没有局部变量和行号信息;
Level3: 包含更多的信息,如程序中出现的所有宏定义.当使用`-g3'选项的时候,某些调试器支持 宏扩展

预处理器选项(Preprocessor Option)

选项 解释
-Dmacro x
-Dmacro=defn 定义宏macro的内容为defn
-Umacro 取消宏macro,-U 选项在所有的 -D 选项之后处理

连接器选项(LINKER OPTION)

选项 解释
-llibrary 连接名为library的库文件
-shared 生成一个共享目标文件,常搭配 -fPIC 使用
-Wl,option 把选项option传递给连接器.如果option中含有逗号,就在逗号处分割成多个选项.
-symbolic 建立共享目标文件的时候,把引用绑定到全局符号上

目录选项(DIRECTORY OPTION)

选项 解释
-Idir 头文件搜索路径列表中添加 dir 目录
-Ldir -l 选项库文件搜索路径列表中添加 dir 目录

警告选项(WARNING OPTION)

选项 解释
-w 禁止所有警告信息(不建议使用)
-Wall 开启大部分警告提示(建议使用)
-Werror 视警告为错误;出现任何警告即放弃编译

优化选项(OPTIMIZATION OPTION)

选项 解释
-O0 不优化
-O1 优化.对于大函数,优化编译占用稍微多的时间和相当大的内存.
-O2 多优化一些.除了涉及空间和速度交换的优化选项,执行几乎所有的优化工作.例如不进行循环展开(loop unrolling)和函数内嵌(inlining).
和-O选项比较,这个选项既增加了编译时间,也提高了生成代码的 运行效果.
-O3 优化的更多.除了打开-O2所做的一切,它还打开了-finline-functions选项
-ffloat-store 不要在寄存器中存放浮点变量.这样可以防止某些机器上不希望的过高精度,
如68000的浮点寄存器(来自 68881)保存的精度超过了double应该具有的精度.
对于大多数程序,过高精度只有好处.但是有些程序严格依赖于IEEE浮点数的定义.对这样的程序可以使用 -ffloat-store选项.

机器相关选项(MACHINE DEPENDENT OPTION)

选项 解释
-mhard-float 输出包含浮点指令的目标码.这是缺省选项
-msoft-float 警告:没有为SPARC提供GNU浮点库.一般说来使用该机型本地C编译器的相应部件,
但是不能直接用于交叉编译.你必须自己安排,提供用于交叉编译的库函数.
-msoft-float 改变了输出文件中的调用约定;因此只有用这个选项编译整个程序才有意义.

代码生成选项(CODE GENERATION OPTION)

选项 解释
-fpic 如果支持这种目标机,编译器就生成位置无关目标码.适用于共享库(shared library).
-fPIC 如果支持这种目标机,编译器就输出位置无关目标码.
适用于动态连接(dynamic linking),即使分支需要大范围 转移.

语言选项(LANGUAGE OPTIONS)

选项 解释
-ansi 支持符合ANSI标准的C程序
-std=c99 C99标准
-std=c++11 支持c++11

参考:
GNU GCC 手册
gcc常用编译选项汇总
GCC编译详解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容