我刚开始在Linux上使用g++编译器,并对编译器标志有一些问题。以下是这些问题:
优化
我阅读了g++手册页面中关于优化标志 -O1
、-O2
和-O3
的文章。我不明白何时应该使用这些标志。通常你使用哪种优化级别?g++手册对-O2
如下所述:
进行更多优化。GCC执行几乎所有不涉及空间 - 速度权衡的支持优化。当指定-O2时,编译器不执行循环展开或函数内联。与-O相比,此选项增加了编译时间和生成代码的性能。
如果它不执行内联和循环展开,那么如何实现所述的性能益处,这个选项是否推荐使用?
静态库
我如何使用g++创建静态库?在Visual Studio中,我可以选择一个类库项目,然后它将被编译成“lib”文件。在g++中等价的是什么?