我正在寻找一种简单的方法来将某些 g++(具体为 g++-4.9)编译选项本地化到某些代码行或至少是目标函数。一般来说,我感兴趣,但也特别对-fast-math
,-ffinite-math-only
和-fno-signed-zeros
选项感兴趣。
我认为使用make
实用程序可以在 *.cpp 文件级别进行本地化,但我希望有一种方法可以通过 #pragma 或 __attribute__ 或其他方式在代码本身中启用它。我想这样做不仅是为了最大限度地减少对外部文件的依赖(即不正确的风险makefile
),而且希望将某些 FP 行为超本地化到函数中的特定方程。
makefile
或者,如果无法通过内联指令对 FP 行为进行本地化,如果在项目构建中未启用所需的编译器指令(例如丢失或不当修改),我可以做些什么来至少触发编译时错误。
我认为这种内联优化可能是编译器特定的,在这种情况下是 g++,但这是我愿意采取的折衷方案。