该选项将不会严格遵循语言标准,除了启用所有的-O3优化选项之外,也会针对某些语言启用部分优化。如:-ffast-math,对于Fortran语言,还会启用下列选项: -fno-protect-parens-fstack-arrays 6.-Og: 该标识会精心挑选部分与-g选项不冲突的优化选项,当然就能提供合理的优化水平,同时产生较好的可调试信息和对语言标准的遵循...
当优化标识被启用之后,gcc编译器将会试图改变程序的结构(当然会在保证变换之后的程序与源程序语义等价的前提之下),以满足某些目标,如:代码大小最小或运行速度更快(只不过通常来说,这两个目标是矛盾的,二者不可兼得)。 在不同的gcc配置和目标平台下,同一个标识所采用的优化种类也是不一样的,这可以使用-Q --help...
-O0是默认选项,不执行任何优化。在编译调试版本的时候,一般使用-O0,可以确保调试执行过程完全和代码一致(如果使用优化选项,根据源文件设定的断点和经过优化编译得到的程序可能对不上,所以不能准确停在预期的地方)。 -Og是针对调试的优化选项,它会启用-O1的优化指令,除了那么可能会干扰调试的优化选项,同时可获取到更...
-O2: 较高的优化级别,牺牲更多编译时间来提高程序的性能 -O3: 最高的优化级别,宁愿牺牲空间来提升程序的执行速度 -Og: 主要使用-O1优化, 除了那些影响调试的部分 *-Os: 侧重于优化文件的体积 注意: 这里优化通常不是压缩可执行文件的大小,指的是优化运行速度等,优化得到的可执行文件体积可能还更大 优...
-O 优化 -O1优化 -O2 -O0 -Os -Ofast -Og -Oz -O 选项控制特定的优化 Warnings Reference 编译步骤 gcc 、 g++分别是gnu的c & c++编译器 。实际上,GCC 能够编译三种语言:C、C++ 和 Object C(C 语言的一种面向对象扩展)。 GCC: the GNU Compiler Collection ...
最新的版本是GCC 11.2.0。GCC 4.6.4以上的版本优化等级是一样的,只是优化选项略有差异。 1 优化等级说明 GCC 4.6.4以上版本,有**-O0、-O1、-O2、-O3、-Os、-Ofast、-Og**几个优化等级,参数 -O1、-O2、-O3 中,随着数字变大,代码的优化程度也越高,不过这在某种意义上来说,也是以牺牲程序的可调试性...
该选项将不会严格遵循语言标准,除了启用所有的-O3优化选项之外,也会针对某些语言启用部分优化。如:-ffast-math ,对于Fortran语言,还会启用下列选项: -fno-protect-parens -fstack-arrays 6.-Og: 该标识会精心挑选部分与-g选项不冲突的优化选项,当然就能提供合理的优化水平,同时产生较好的可调试信息和对语言标准的遵...
1. GCC优化选项 -O/-O1 -O2 -O3 -O0 -Os -Ofast -Og 2. GCC 调试选项 -g -ggdb -gdwarf -gstabs -glevel 3. 参考 在没有开启编译优化时,GCC编译器的目的是:减少编译时间和生成预期的调试结果。对于GCC编译的程序,调试的语句都是独立的,可以在程序的任何语句中设置断点,并设置变量的值和修改语句的...
-Og: In GCC 4.8, a new general optimization level, -Og, has been introduced. It addresses ...
-Og:启用调试优化选项 例如,如果要关闭-O2优化标志,可以使用以下命令: 代码语言:txt 复制 gcc -fno-builtin -o output source.c 这将关闭-O2优化标志,并将源代码编译为可执行文件output。 需要注意的是,关闭特定的优化标志可能会影响代码的性能和可靠性,因此应该谨慎使用。