在VS2010中項目的屬性對話框中,左邊框裡的“配置屬性”下的“C/C++”下的“語言”頁裡,将OpenMP支援改為“是/(OpenMP)”就可以支援OpenMP了。
先看一個簡單的使用了OpenMP程式 #include "stdafx.h" #include "omp.h"
#include<cstdlib> int _tmain(int argc, _TCHAR* argv[])
{ omp_set_num_threads(2);
#pragma omp parallel for
for (int i = 0; i < 10; i++ )
{
printf("i = %d\n", i);
}
system("pause");
return 0;
}
這個程式執行後列印出以下結果: i = 0
i = 1
i = 2
i = 8
i = 9
i = 3
i = 4
i = 5
i = 6
i = 7
請按任意鍵繼續. . . 可見for 循環語句中的内容被并行執行了。(每次運作的列印結果可能會有差別) 這裡要說明一下, #pragma omp parallel for 這條語句是用來指定後面的for循環語句變成并行執行的,當然for循環裡的内容必須滿足可以并行執行,即每次循環互不相幹,後一次循環不依賴于前面的循環。