相关疑难解决方法(0)

-fopenmp提供了什么预处理器定义?

我有一些可以运行(或不运行)OpenMP的代码 - 这取决于用户如何设置makefile.如果他们想要使用OpenMP运行,那么他们只需添加-fopenmpCFLAGSCXXFLAGS.

我正在尝试确定哪些预处理器宏可用于判断何时-fopenmp生效.该omp.h头看起来不是很有趣:

$ cat /usr/lib/gcc/x86_64-linux-gnu/4.8/include/omp.h | grep define
#define OMP_H 1
#define _LIBGOMP_OMP_LOCK_DEFINED 1
# define __GOMP_NOTHROW throw ()
# define __GOMP_NOTHROW __attribute__((__nothrow__))
Run Code Online (Sandbox Code Playgroud)

我无法让预处理器提供任何有用的东西:

$ cpp -dM -fopenmp </dev/null | grep -i omp
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
#define __STDC_IEC_559_COMPLEX__ 1

$ cpp -dM -fopenmp </dev/null | grep -i version
#define __GXX_ABI_VERSION 1002
#define __VERSION__ "4.8.2"
Run Code Online (Sandbox Code Playgroud)

预处理器定义了什么-fopenmp


这类似于如何判断OpenMP是否正常工作? …

c openmp c-preprocessor

3
推荐指数
1
解决办法
630
查看次数

标签 统计

c ×1

c-preprocessor ×1

openmp ×1