zoukankan      html  css  js  c++  java
  • Qt编写OpenMP程序--HelloWorld

    本程序是在Ubuntu Linux环境下编写成的。这里包括C++语言程序和C语言程序,两者在Qt项目设置参数上略有不同,需要注意。


    OpenMp提供并行描述,可以充分使用计算机系统的CPU资源。


    step1.创建Qt的C++项目,项目文件如下:

    TEMPLATE = app
    CONFIG += console c++11
    CONFIG -= app_bundle
    #CONFIG -= qt
    
    QMAKE_CXXFLAGS += -fopenmp
    
    LIBS += -fopenmp
    
    SOURCES += main.cpp
    其中,需要将行“CONFIG -= qt”注释。同时添加以下两行(如上):

    QMAKE_CXXFLAGS += -fopenmp
    LIBS += -fopenmp

    step2.编写C++源程序如下:

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        #pragma omp parallel for
        for (char i = 'a'; i <= 'z'; i++)
            cout << "Hello World! " << i << endl;
    
        return 0;
    }

    程序中,for语句之前添加以下语句,将for循环并行化处理:
    #pragma omp parallel for

    step3.运行程序

    运行结果如下(可以看出,由于循环是并发运行,所以输出顺序与一般程序不同):

    Hello World! a
    Hello World! b
    Hello World! c
    Hello World! d
    Hello World! e
    Hello World! f
    Hello World! g
    Hello World! o
    Hello World! p
    Hello World! q
    Hello World! r
    Hello World! s
    Hello World! t
    Hello World! u
    Hello World! v
    Hello World! w
    Hello World! x
    Hello World! y
    Hello World! z
    Hello World! h
    Hello World! i
    Hello World! j
    Hello World! k
    Hello World! l
    Hello World! m
    Hello World! n
    运行结果的截屏如下:



    Qt项目与C语言源程序:

    1.Qt项目文件

    TEMPLATE = app
    CONFIG += console c++11
    CONFIG -= app_bundle
    #CONFIG -= qt
    
    QMAKE_CFLAGS += -fopenmp
    
    LIBS += -fopenmp
    
    SOURCES += main.c


    需要注意的是,这里使用的参数是QMAKE_CFLAGS(C++项目是QMAKE_CXXFLAGS)。

    2.C语言程序

    #include <stdio.h>
    
    int main(void)
    {
        char i;
    
        #pragma omp parallel for
        for (i='a'; i<='z'; i++)
            printf("Hello World! %c
    ", i);
    
        return 0;
    }






  • 相关阅读:
    Asp.net Url Routing
    关于Linq to DataSet
    WebService开发实例(Axis2实现,无需安装,快速实现)
    开启我的博客之旅
    字符串算法专题之:目录
    递归程序转换为非递归程序的方法
    微信与QQ的比较和定位分析
    字符串算法专题之:字符串匹配算法
    递归程序的含义、实现机制以及复杂度计算
    北洋大讲堂之“斯凯网络CEO宋涛我的创业之路”感想
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564281.html
Copyright © 2011-2022 走看看