关于_OPENMP预编译

最近在看一个程序,程序中有"#ifdef _OPENMP",可是,在程序中一直没有找到“define OPENMP”。在查询后才知道,_OPENMP多是编译器预约义的。能够用如下程序测试:centos

#include<stdio.h>
int main()
{
    #ifdef _OPENMP
            printf("compiled by an OPENMP_compliant implementation\n");
    #endif
    return 0;
}

在centos上,若是用“g++ check.cpp”编译后,运行不输出。可是,若是用“g++ -fopenmp check.cpp”编译,运行会输出那句话。所以,_OPENMP是由编译器相关,而不是在代码中定义的。测试

相关文章
相关标签/搜索