• 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;
    }






  • 相关阅读:
    .Net基础:CLR基本原理
    行业软件开发商怎样来抢 BI 这块蛋糕?
    免费报表工具知多少?
    哪款报表工具更适合行业软件开发商?
    报表如何通过参数控制数据权限
    实现报表滚动到底部翻页效果
    报表 BI 选型的那些事
    零编码制作报表可能吗?
    为什么说当前报表开发的工作量主要在数据源环节?又如何解决呢?
    用存储过程和 JAVA 写报表数据源有什么弊端?
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564281.html
Copyright © 2020-2023  润新知