我正在使用bjam构建intel编译器和vs2008的boost库,但是我无法确定正在从bjam向编译器传递哪些优化。对于一个编译器的gcc,我可以在一个bjam文件中看到一些优化,但是找不到我关心的编译器的优化标志。所以,我的问题是-
最佳答案
如果您有兴趣查看构建时传递来调用编译器的整套选项,则可以使用bjam
选项和其余构建选项来运行-n -a
,以提供完整的调用命令集以及所有响应文件生成(请参阅Boost Jam Options)。您也可以直接查看Boost Build的源代码,并查看将指定功能转换为哪些功能(请参阅Boost Build Tools Files)。例如:
对于其他编译器,您可以通过查看源代码来弄清楚它们,因为它们是很容易解释的。您可以在
<optimization>
源中搜索“<inlining>
”和“*.jam
”。通过在构建时在命令行中指定
feature=value
选项,可以在命令行中覆盖它们。这些选项与您在工具集文件中看到的<feature>value
规范匹配。例如,要覆盖优化功能,您可以在命令行中指定诸如"optimization=speed"
之类的内容。如果您想要更精细的控制,则必须深入研究Boost Build规范,并可能必须创建自己的变体来定义要使用的特定选项和功能。