OpenMP 的 C/C++ 规范似乎没有提供以编程方式执行此操作的直接方法。所以你必须检查你的编译器版本的文档。 gcc --version ## get compiler version 对于 GCC,这是一个很好的资源(没有提到最新版本的 GCC): http ://gcc.gnu.org/wiki/openmp: 从 GCC 4.2 开始,编译器实现了 OpenMP 标准的 2.5 版,从 4.4 开始,它实现了 OpenMP 标准的 3.0 版。自 GCC 4.7 起支持 OpenMP 3.1。 编辑 经过一番努力,我得到了以下工作。它至少给出了 OpenMP 版本的指示——尽管它仍然需要您查找某些内容。 $ echo |cpp -fopenmp -dM |grep -i open #define _OPENMP 200805 您可以访问此处 ( http://www.openmp.org/specifications/ ) 以了解提供的日期与实际 OpenMP 版本号之间的映射。 在支持预处理器的实现中,_OPENMP 宏名称被定义为具有十进制值 yyyymm,其中 yyyy 和 mm 是实现支持的 OpenMP API 版本的年份和月份名称。 原文由 Brent Bradburn 发布,翻译遵循 CC BY-SA 4.0 许可协议
OpenMP 的 C/C++ 规范似乎没有提供以编程方式执行此操作的直接方法。所以你必须检查你的编译器版本的文档。
对于 GCC,这是一个很好的资源(没有提到最新版本的 GCC): http ://gcc.gnu.org/wiki/openmp:
编辑
经过一番努力,我得到了以下工作。它至少给出了 OpenMP 版本的指示——尽管它仍然需要您查找某些内容。
您可以访问此处 ( http://www.openmp.org/specifications/ ) 以了解提供的日期与实际 OpenMP 版本号之间的映射。