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






  • 相关阅读:
    MATLAB实现的车牌定位系统
    机器学习公开课备忘录(一)回归问题
    localStorage cookie的增删改查
    cookies,sessionStorage和localStorage的区别(浏览器缓存的区别)
    提升页面性能的方法
    get和post的区别
    ajax jsonp axios fetch
    vue项目创建
    (转)如何使用Log4net创建日志及简单扩展
    C# TSC打印二维码和条形码
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564282.html
Copyright © 2020-2023  润新知