首先利用brew进行安装:
1  | brew install libomp  | 
完成之后,采用如下的测试代码,存储为hello.c:
1  | 
  | 
尝试利用gcc进行编译:
1  | gcc hello.c -fopenmp -o hello && ./hello  | 
诡异的事情出现了,会得到如下的结果,非常奇怪,gcc应该是支持这个选项的:
1  | clang: error: unsupported option '-fopenmp'  | 
从这个地方可以发现clang进行了报错,但是明明是使用gcc进行编译的,利用gcc -v查看可以看到如下发现:
1  | Apple clang version 11.0.0 (clang-1100.0.33.17)  | 
这里名叫gcc的东西实际上是clang,所以正常使用gcc编译的时候实际上是用的clang???之后采用gcc-9来指定gcc进行编译,而不采用clang:
1  | gcc-9 hello.c -fopenmp -o hello && ./hello  | 
可以正常的执行并得到如下的结果:
1  | Hello from thread 1, nthreads 8  | 
由于多线程并不能保证执行顺序,可以看到Hello的打印顺序是不一样的,到这里就可以愉快使用OpenMP了!