记得本科时上“并行计算处理”课程时,在Visual Studio以及Linux GCC里跑过openmp,感觉特别方便,因此尝试了一下在codeblocks下使用openmp。
折腾了好一会才发现codeblocks的gcc编译器很难配置openmp。因此,得按[1]的思路,自己安装一个tdm-gcc编译器才行。
1、安装codeblocks。
2、下载tdm-gcc(32位),tdm-gcc-64(64位),一定要注意的是:安装的时候默认openmp支持是没有勾选的,记得勾选起来。
3、不使用默认GUN GCC编译器,设置tdm-gcc编译器。
折腾了好一会才发现codeblocks的gcc编译器很难配置openmp。因此,得按[1]的思路,自己安装一个tdm-gcc编译器才行。
1、安装codeblocks。
2、下载tdm-gcc(32位),tdm-gcc-64(64位),一定要注意的是:安装的时候默认openmp支持是没有勾选的,记得勾选起来。
3、不使用默认GUN GCC编译器,设置tdm-gcc编译器。
4、Setting->compiler->Compiler settings->other options里输入-fopenmp;
Setting->compiler->linker settings->other linker options里输入-lgomp -lpthread;
Setting->compiler->linker settings->Linker library里添加libgomp.dll.a文件:如D:\TDM-GCC\lib\gcc\mingw32\5.1.0\libgomp.dll.a。
5、配置完成,可以运行测试啦。
#include <omp.h>
int main()
{
#pragma omp parallel
printf("核心数量i=%d, 线程编号=%d\n", omp_get_num_threads(), omp_get_thread_num());
return 0;
}
6、使用VS2015部署代码到Linux服务器运行时,要配置openmp项,需要在下图的两个地方增加-fopenmp
1、http://www.mamicode.com/info-detail-1100212.html
2、http://tdm-gcc.tdragon.net/download