Qt编写OpenMP程序--HelloWorld
本程序是在Ubuntu Linux環境下編寫成的。這里包括C++語言程序和C語言程序,兩者在Qt項目設置參數上略有不同,需要注意。
OpenMp提供并行描述,可以充分使用計算機系統的CPU資源。
step1.創建Qt的C++項目,項目文件如下:
TEMPLATE = app CONFIG += console c++11 CONFIG -= app_bundle #CONFIG -= qtQMAKE_CXXFLAGS += -fopenmpLIBS += -fopenmpSOURCES += main.cpp其中,需要將行“CONFIG -= qt”注釋。同時添加以下兩行(如上):
QMAKE_CXXFLAGS += -fopenmp
LIBS += -fopenmp
step2.編寫C++源程序如下:
#include <iostream>using namespace std;int main() {#pragma omp parallel forfor (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 -= qtQMAKE_CFLAGS += -fopenmpLIBS += -fopenmpSOURCES += main.c
需要注意的是,這里使用的參數是QMAKE_CFLAGS(C++項目是QMAKE_CXXFLAGS)。
2.C語言程序
#include <stdio.h>int main(void) {char i;#pragma omp parallel forfor (i='a'; i<='z'; i++)printf("Hello World! %c\n", i);return 0; }
轉載于:https://www.cnblogs.com/tigerisland/p/7564282.html
總結
以上是生活随笔為你收集整理的Qt编写OpenMP程序--HelloWorld的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS魔法堂:说说Float那个被埋没的
- 下一篇: [转]Asp.Net Core 简单的使