我正在尝试构建一个可以跨多个平台和编译器工作的小代码。我使用断言,其中大部分都可以关闭,但是当使用 PGI 编译时pgicpp
使用-mp
OpenMP 支持,它会自动使用--no_exceptions
选项:在我的代码中的任何地方,带有“throw”语句的地方都会产生致命的编译器错误。(“对异常处理的支持被禁用”)
我可以测试一个define
d 宏来隐藏throw
PGI 上的语句吗?我通常使用 gcc,其中有GCC_VERSION
之类的。我在 PGI 中找不到任何描述这些宏的文档。