-print-libgcc-file-name
【程序编程相关:Linux系统初学者使用技巧】 【推荐阅读:sed用法】 与`-print-file-name=libgcc.a一样. 【扩展信息:新东方笑话集锦】 -print-prog-name=program 类似于`-print-file-name,但是查找程序program如`cpp. 优化选项(optimization option) 这些选项控制多种优化措施: -o -o1 优化.对于大函数,优化编译占用稍微多的时间与相当大的内存. 不使用`-o选项时,编译器的目标是减少编译的开销,使编译结果能够调试.语句是独 立的:如果在 两条语句之间用断点中止程序,你可以对任何变量重新赋值,或者在函 数体内把程序计数器指到其他语句,以及从源程序中 精确地获取你期待的结果. 不使用`-o选项时,只有声明了register的变量才分配使用寄存器.编译结果比不用 `-o选项的pcc要略逊一筹. 使用了`-o选项,编译器会试图减少目标码的大小与执行时间. 如果指定了`-o选项, `-fthread-jumps与`-fdefer-pop选项将被 打开.在有del ay slot的机器上, `-fdelayed-branch选项将被打开.在即使没有帧指针 (frame pointer)也支持调试的机器上, `-fomit-frame-pointer选项将被打开.某些机器上 还可能会打开其他选项. -o2 多优化一些.除了涉及空间与速度交换的优化选项,执行几乎所有的优化工作.例如不 进行循环展开(loop unrolling)与函数内嵌(inlining).与-o选项比较,这个选项既 增加了编译时间,也提高了生成代码的 运行效果. -o3 优化的更多.除了打开-o2所做的一切,它还打开了-finline-functions选项. -o0 不优化. 如果指定了多个-o选项,不管带不带数字,最后一个选项才是生效的选项. 诸如`-fflag此类的选项描述一些机器无关的开关.大多数开关具有肯定与否定两种 格式; `-ffoo开关选项的否定格式应该是`-fno-foo.下面的列表只展示了一种格 式---那个不是 默认选项的格式.你可以通过去掉或添加`no-构造出另一种格式. -ffloat-store 不要在寄存器中存放浮点变量.这样可以防止某些机器上不希望的过高精度,如6800 0的浮点寄存器(来自 68881)保存的精度超过了double应该具有的精度. 对于大多数程序,过高精度只有好处.但是有些程序严格依赖于ieee浮点数的定义.对 这样的程序可以使用 `-ffloat-store选项. -fmemoize-lookups -fsave-memoized 使用探索法(heuristic)进行更快的编译(仅对c++).默认情况下不使用探索法.由于 探索法只对某些输入文件 有效,其他程序的编译速度会变得更慢. 第一次编译器必须对成员函数(或对成员数据的引用)建立一个调用.它必须(1)判断 出这个类是否实现了那个名字的 成员函数; (2)决定调用哪个成员函数(涉及到推测 需要做哪种类型转换); (3)检查成员函数对调用者是否可见.所有这些构成 更慢的 编译.一般情形,第二次对成员函数(或对成员数据的引用)建立的调用,必须再次经过 相同长度的处理.这意味着象 这样的代码 cout << "this " << p << " has " << n << " legs.\n"; ... 下一页