我试图建立一个小的代码可以跨多个平台和编译器的工作原理。 我使用断言,其中大部分可以被关闭,但与PGI的编译时pgicpp
使用-mp
用于支持OpenMP,它会自动使用--no_exceptions
选项:无处不在我的代码以“扔”语句生成一个致命编译器错误。 (“异常处理支持已禁用”)
是否有一个define
d宏我可以测试隐藏throw
在PGI报表? 我通常用gcc,其中有工作GCC_VERSION
等。 我找不到描述PGI这些宏的任何文件。
我试图建立一个小的代码可以跨多个平台和编译器的工作原理。 我使用断言,其中大部分可以被关闭,但与PGI的编译时pgicpp
使用-mp
用于支持OpenMP,它会自动使用--no_exceptions
选项:无处不在我的代码以“扔”语句生成一个致命编译器错误。 (“异常处理支持已禁用”)
是否有一个define
d宏我可以测试隐藏throw
在PGI报表? 我通常用gcc,其中有工作GCC_VERSION
等。 我找不到描述PGI这些宏的任何文件。
看看在预定义的C / C ++编译器宏 Sourceforge上的项目。
PGI的编译器有一个__PGI
宏。
另外,看看libnuwen的 compiler.hh头一个体面的方式来“正常化”的编译器版本宏。
你可以试试这个,看看编译器预定义宏什么:
pgcc -dM
也许这将揭示你可以用一个合适的宏。
你看着升压头? 假如他们支持PGI,他们将找到一种方法来检测它。 你可以使用它。 我将开始在地方搜索boost/config
。