如何评估编译程序所需的-fconstexpr-steps=
和-ftemplate-depth=
参数的确切最小值?
我的当前做法是对一个值进行二分。但对于真实世界的模板加载程序,即使在值的上限上对数级别,它也变得非常耗时。
虽然有-v
选项和-ftime-report
选项,但它们的输出甚至没有提供关于实际使用的最大模板深度和计算常量表达式时实际传递的步骤数量的任何期望信息。
-ftemplate-depth
和-fconstexpr-steps
的必要值有点麻烦,但您也可以编写脚本(Ruby、Python或其他适合您的语言)来自动化此过程。只需在简单的while
循环中将初始值加倍,直到程序成功编译即可。