如何判断bjam使用哪些优化来构建提升
问题描述:
我正在为intel编译器和vs2008构建bjam的boost库,并且我无法确定哪些优化正在从bjam传递给编译器。对于其中一个编译器的gcc,我可以在其中一个bjam文件中看到一些优化,但我找不到我关心的编译器的优化标志。所以,我的问题是 -如何判断bjam使用哪些优化来构建提升
- 有谁知道默认优化标志位于哪里?
- 如果他们在bjam内声明,有谁知道我可以重写他们?
答
如果你有兴趣看选项整组要传递建立可以运行bjam
与-n -a
选项和建设的其他选项,给你一套完整的命令时要调用编译器调用以及生成的任何响应文件(请参阅Boost Jam Options)。您也可以直接查看Boost Build源并查看指定功能的翻译内容(请参阅Boost Build Tools Files)。例如:
- 对于GCC看到线
gcc.jam
(gcc.jam #292) - 292-300对于MSVC看行
msvc.jam
(msvc.jam #1139)
1139年至1153年,您可以容易找出相同对于其他编译器,只需查看源代码,因为它们相当自我解释。您可以在*.jam
来源中搜索“<optimization>
”和“<inlining>
”。
通过在构建时在命令行中指定feature=value
选项,可以在命令行中覆盖它们。这些选项与您在工具箱文件中看到的<feature>value
规格相匹配。例如,要覆盖您在命令行中指定的某些优化功能,如"optimization=speed"
。如果你想要更细致的控制,你必须深入研究Boost Build规范,并且可能必须创建一个自己的变体来定义要构建的特定选项和功能。
很多库只是头文件,你关心某个特定库的优化,例如线程? – Anycorn 2010-05-08 15:35:16
我很关心boost :: gregorian :: date这是部分静态库 – Steve 2010-05-09 00:53:48
检查出这个问题,它应该回答你: http://stackoverflow.com/questions/2722421/how-to-determine-value -of-CXXFLAGS合的bjam - 或 - 追加到它 – Anycorn 2010-05-08 15:37:43