详解CLion配置openMP的方法

 更新时间:2021年02月24日 10:04:24   作者:古人诚不我欺  
这篇文章主要介绍了CLion配置openMP的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

使用MinGW64在Clion中配置openMP的开发 安装MinGW64和CLion配置CMakeList.txtCLion 2020.2.3
Build #CL-202.7319.72, built on September 18, 2020
对openMP编译制导的格式问题踩坑


下载

MinGW64

CLion


创建工程,配置CMakeList.txt

cmake_minimum_required(VERSION 3.17)
project(openMP C)
set(CMAKE_C_STANDARD 99)
add_executable(openMP main.c)
# openMP 配置
FIND_PACKAGE(OpenMP REQUIRED)
if (OPENMP_FOUND)
	message("OPENMP FOUND")  
	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")  
	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif ()

编写openMP并行的demo

#include <stdio.h>
#include <omp.h>

int main(int argc, char **argv) {

#pragma omp parallel
  {
    int id = omp_get_thread_num();
    printf("%d\n", id);
    if (id == 3) {
      printf("我是三号线程、、、");
    }
  }
  return 0;
}

运行就可以看到

#pragma omp parallel
  {
    int id = omp_get_thread_num();
    printf("%d\n", id);
    if (id == 3) {
      printf("我是三号线程、、、");
    }
  }

CLion踩的坑

本来以为配置好了之后,就可以愉快的进行学习了,结果一直报错,错误是Expected expression,就在int的位置,我当时真的是想不明白,原来是因为在#pargma omp parallel 这句编译制导语句后面不能直接写那个花括号,只能另起一行,难搞哦,另起了一行之后,可以运行了,但是这个IDE的提示还有些瑕疵,如下所示

在这里插入图片描述
在这里插入图片描述

到此这篇关于详解CLion配置openMP的方法的文章就介绍到这了,更多相关CLion配置openMP内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言详细分析浮点数在内存中的储存

    C语言详细分析浮点数在内存中的储存

    我们在日常生活中和编程中都会用到小数,比如:3.1415926、29.9、1E10(科学计数法也是浮点型)。在C语言中的浮点型类型有:float,double,long double。那么浮点数在这些浮点型的内存之中又是如何储存的呢,这就是今天我们要分享的
    2022-06-06
  • C++中const char*、char const*、char * const三者的区别

    C++中const char*、char const*、char * const三者的区别

    这篇文章主要介绍了C++中const char*、char const*、char * const三者的区别,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Vscode搭建远程c开发环境的图文教程

    Vscode搭建远程c开发环境的图文教程

    很久没有写C语言了,今天抽空学习下C语言知识,接下来通过本文给大家介绍Vscode搭建远程c开发环境的详细步骤,本文通过图文实例代码相结合给大家介绍的非常详细,需要的朋友参考下吧
    2021-11-11
  • C语言超详细讲解线性表

    C语言超详细讲解线性表

    线性表,数据结构中最简单的一种存储结构,专门用于存储逻辑关系为"一对一"的数据。线性表是基于数据在实际物理空间中的存储状态,又可细分为顺序表(顺序存储结构)和链表
    2022-07-07
  • C语言实现txt数据读入内存/CPU缓存实例详解

    C语言实现txt数据读入内存/CPU缓存实例详解

    这篇文章主要介绍了C语言实现txt数据读入内存/CPU缓存实例详解的相关资料,这里对实现该函数进行了代码实现,需要的朋友可以参考下
    2017-01-01
  • C++的多态与虚函数你了解吗

    C++的多态与虚函数你了解吗

    这篇文章主要为大家详细介绍了C++多态与虚函数,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • c语言实现简单的易语言

    c语言实现简单的易语言

    在本篇内容里小编给大家整理了一篇关于c语言实现一个简单的易语言的相关知识点,需要的朋友们参考下。
    2018-12-12
  • C++中new/delete与malloc/free的区别小结

    C++中new/delete与malloc/free的区别小结

    本文主要介绍了C++中new/delete与malloc/free的区别小结, malloc、free是C中的库函数 new、delete 是C++当中的操作符,读者可以更好地理解C++中内存管理的方式和优势
    2023-08-08
  • 详解C++中的ANSI与Unicode和UTF8三种字符编码基本原理与相互转换

    详解C++中的ANSI与Unicode和UTF8三种字符编码基本原理与相互转换

    在C++编程中,我们有时需要去处理字符串编码的相关问题,常见的字符编码有ANSI窄字节编码、Unicode宽字节编码及UTF8可变长编码。很多人在处理字符串编码问题时都会有疑惑,即便是有多年工作经验的朋友也可能搞不清楚。所以有必要讲一下这三种字符编码以及如何去使用它们
    2021-11-11
  • 使用C语言来画出皮卡丘的教程(附代码)

    使用C语言来画出皮卡丘的教程(附代码)

    在C语言中使用图形库画图需要引入graphics.h库,我们可以通过代码实现画出一个可爱的皮卡丘,将皮卡丘的绘制分为以下部分:耳朵、脸部、眼睛、嘴巴、手臂、腿部、尾巴,下面我们就来学习如何使用C语言编写画皮卡丘的代码
    2024-01-01

最新评论