【背景】
折腾:
【记录】在Cygwin下编译gcc-3.4.5-glibc-2.3.6的arm-xscale-linux-gnu交叉编译器
期间,需要搞懂,对应的Target CFLAGS的含义,以及如何配置。
【折腾过程】
1.去看看Target CFLAGS的帮助说明:
crosstool-NG v1.9.3 Configuration – .config Target CFLAGS Used to add specific options when compiling libraries of the toolchain, Symbol: TARGET_CFLAGS [=] |
2.参考之前别人的配置:
http://crosstool.googlecode.com/svn/trunk/src/buildlogs/arm-xscale-gcc-3.4.5-glibc-2.3.2-tls.dat.txt
去添加一个-O。
3.但是也要去搞清楚-O是啥意思。
所以找到:
3.10 Options That Control Optimization
看到真正的官网解释:
-O With -O, the compiler tries to reduce code size and execution time, without performing any optimizations that take a great deal of compilation time. -O turns on the following optimization flags: -fauto-inc-dec -O also turns on -fomit-frame-pointer on machines where doing so does not interfere with debugging. |
4.所以,就去设置为-O即可:
(-O) Target CFLAGS |
【总结】
-O
== -O1(默认为O1)
==会执行很多优化的动作(具体参见上面的列表),以实现:降低代码大小和执行时间
(而如果不优化,编译时间会大大增加)