GCC编译选项补充
来源:互联网 发布:网络主播服装 编辑:程序博客网 时间:2024/06/03 21:07
一、 出错检查和警告提示选项
-pedantic-error 允许发出ANSIC标准所列的全部错误信息
-w 关闭所有警告
-Wall 允许发出GCC提供的所有有用的报警信息
-Werror 把所有的告警信息转化为错误信息,并在告警发生时终止编译过程
二、 代码优化选项
代码优化是指编译器通过分析源代码找出其中尚未达到最优的部分,然后对其重新进行组合,进而改善代码的执行性能。GCC通过提供编译选项-On来控制优化代码的生成,其中n是一个代表优化级别的整数。
对于大型程序来说,使用代码优化选项可以大幅度提高代码的运行速度。
-O选项:编译时使用选项-O可以告诉GCC同时减小代码的长度和执行时间,其效果等价于-O1。
-O2选项:选项-O2告诉GCC除了完成所有-O1级别的优化之外,同时还要进行一些额外的调整工作,如处理器指令调度。
不同的优化级别对应不同的优化处理工作。如使用优化选项“-O”主要进行线程跳转(Thread Jump)和延迟退栈(Deferred Stack Pops)两种优化。使用优化选项“-O2”除了完成所有“-O1”级别的优化之外,同时还要进行一些额外的调整工作,如处理器指令调度等。选项“-O3”则还包括循环展开和其他一些与处理器特性相关的优化工作。
虽然优化选项可以加速代码的运行速度,但对于调试而言将是一个很大的挑战。因为代码在经过优化之后,原先在源程序中声明和使用的变量很可能不再使用,控制流也可能会突然跳转到意外的地方,循环语句也有可能因为循环展开而变得到处都有,所有这些对调试来讲都将是一场噩梦。所以建议在调试的时候最好不使用任何优化选项,只有当程序在最终发行的时候才考虑对其进行优化。
三、 调试分析选项
-g/-g1/g2/g3选项:生成调试信息,GNU调试器可以利用该信息。GCC编译器使用该选项进行编译时,将调试信息加入到目标文件中,这样gdb调试器就可以根据这些调试信息来跟中程序的执行状态。
-pg选项:编译完成后,额外产生一个性能分析所需信息。
注意:使用调试选项都会使最终生成的二进制文件的大小急剧增加,同时增加程序在执行时的开销,因此调试选项统常推荐仅仅在程序开发和调试阶段中使用。
- GCC编译选项补充
- GCC编译选项
- GCC编译选项
- GCC编译选项
- gcc 编译平台选项
- [Linux]GCC编译选项
- GCC编译选项
- 常用GCC 编译选项
- gcc 的编译选项
- GCC 编译选项。
- GCC 编译选项(转)
- gcc 编译选项
- gcc编译原理选项
- gcc编译选项
- GCC 编译选项
- gcc 编译 + 选项
- gcc编译选项详解
- GCC编译优化选项
- android ImageView 小结
- What's the returned value of javascript constructor function
- C++ is a bitch, But i Love it!(更新,已无爱。)
- c++中explicit
- 决策树与R语言(RPART)
- GCC编译选项补充
- C# Huffman编译码细节
- 杭电OJ(HDOJ)1010题:Tempter of the Bone(DFS,迷宫求解)
- 杨辉三角
- linux snprintf获取字符串中的某一段的长度问题
- uva 10487
- hdu-1282-回文数猜想( 存int类型操作 )
- Hash Table 开放寻址处理冲突
- OpenWRT定时关闭WIFI