gcc优化选项:
例:
gcc –o hello –Wall –O2 hello.c
gcc对代码进行优化通过选项“-On”来控制优化级别(n是整数)。不同的优化级别对应不同的优化处理工作。
优化选项“-O1”:主要进行线程跳转和延迟退栈两种优化。
优化选项“-O2”:除了完成所有“-O1”级别的优化之外,还要进行一些额外的调整工作,如处理其指令调度等。
优化选项“-O3”:略。
优缺点:
虽然优化选项可以加速代码的运行速度,但对于调试而言将是一个很大的挑战。
因为代码在经过优化之后,原先在源程序中声明和使用的变量很可能不再使用,控制流也可能会突然跳转到意外的地方,循环语句也有可能因为循环展开而变得到处都有,所有这些对调试来讲都是不好的。所以在调试的时候最好不要使用任何的优化选项,只有当程序在最终发行的时候才考虑对其进行优化。优化之后可能会产生一些错误的异常。
gdb调试的时候,要去除优化选项。