CMakeCache.txt:129:CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG CMakeCache.txt:150:CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG CMakeCache.txt:153:CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG CMakeCache.txt:156:CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG cmake设置...
对要部署的程序而言,该选项通常是最佳选择,因为在不增加可执行文件大小的情况下,它提供了最大的优化。它是各种GNU软件发行包的默认优化级别。 就绝大部分目的而言,调试时用“-O0”,开发和部署时用“-O2”就足够了。 在GCC下,可以组合使用优化与调试选项“-g”,而许多其他编译器不支持这样做。当程序出人意料地...
(GCC has well over a hundred individual optimization flags and it would be insane to try and d...
CMakeCache.txt:123:CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG CMakeCache.txt:126:CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG CMakeCache.txt:129:CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG CMakeCache.txt:150:CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG CMakeCache.txt:...
在GCC中,编译参数用于指定编译器的行为和选项。这些参数可以对代码进行优化、生成调试信息、链接不同的库等等。以下是一些常用的GCC编译参数: 1.优化参数: --O0:不进行优化 --O1:进行基本优化 --O2:进行更多优化 --O3:进行最大优化 --Os:进行优化以缩小代码尺寸 2.调试参数: --g:生成调试信息 - -ggdb:...
不冲突,能让-g无效的参数是-s
gcc -O2 source_file.c 数字越大,越加优化。但是通常情况下,自动的东西都不是太聪明,太大的优化级别可能会使生成的文件产生一系列的bug。一般可选择2;3会有一定风险。 8. gcc -Wall source_file.c -W,在编译中开启一些额外的警告(warning)信息。-Wall,将所有的警告信息全开。
-g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。 -O,对程序进行优化编译、连接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。 -O2,比-O更...
在有多个-I选项的情况下,按命令行上-I选项的前后顺序搜索。dir可使用相对路径,如-I../inc等。 -O对程序编译进行优化,编译程序试图减少被编译程序的长度和执行时间,但其编译速度比不做优化慢,而且要求较多的内存。 -O2允许比-O更好的优化,编译速度较慢,但结果程序的执行速度较快。
GCC编译优化和调试选项综上,很多项目的线上版本都是使用”-O2 -g”的编译选项进行编译,以便发生问题的时候容易定位。但这有一个很大的弊端就是目标文件会比不开启调试信息的情况下大很多,所以一般对外发布的软件都是不含有调试信息的release版本,同时也会发布含有调试信息的debug版本,两者的性能是一样的只是debug多...