簡體   English   中英

關於使用 gnu gcc 的 OpenMP

[英]About OpenMP with gnu gcc

我有 Windows 8 64 位操作系統。

我想嘗試使用以下 C 代碼來實現 OpenMP 功能:

hello.c程序

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

int main()
{
    #pragma omp parallel
    printf("Hello world!\n");
    return 0;
}

當我嘗試使用以下命令從命令提示符運行程序時: gcc -fopenmp hello.c

我收到以下錯誤:

c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot fin
d -lpthread
collect2.exe: error: ld returned 1 exit status

我的路徑中有C:\\MinGWgcc 4.8.1

我缺少什么?

謝謝 osgx,

由於我是新手,我無法弄清楚這些pthreads含義。 但畢竟我找到了解決我的問題的方法。 我從http://www.equation.com/servlet/equation.cmd?fa=fortran在我的機器上安裝了gcc 4.8.2 64 bit 它改變了環境變量(在路徑中)本身。 安裝完成后,我重新啟動了我的電腦,當我輸入:

gcc -fopenmp hello.c

對於命令行中的上述代碼,代碼有效。

另一個技巧是將docker 容器與 gcc一起使用。

腳步:

  1. 安裝碼頭工人
  2. 在 docker 終端中: docker pull gcc
  3. 然后運行終端並通過鍵入以下命令將 C 腳本所在的主機文件夾掛載到 gcc 容器中: docker run -it -v /hostfolder:/folderincontainer gcc /bin/bash
  4. 然后在終端中執行腳本。

這很簡單。 無需擔心操作系統的細節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM