在C/C++和Fortran中,都有编译器支持
OpenMP,这里我们举一个
简单的C
程序的例子test.c :#ifdef _
OPENMP
#include
#endifint main(){
#pragma omp parallel
printf("is parallel ! \n");
printf("Always // \n");
CodeBlocks 是一个开源的集成开发环境(IDE),它可以支持多种编程语言,包括 C/C++。OpenMP 是一个并行编程 API,它可以使得 C/C++ 程序员可以更加轻松地编写并行程序。
下面是一个用 CodeBlocks+OpenMP 编写的简单的并行程序的示例:
#include <stdio.h>
#include <omp.h>
int main() {
int num_threads = 0;
#pragma omp parallel
num_threads = omp_get_num_threads();
printf("Hello from thread %d of %d\n", omp_get_thread_num(), num_threads);
printf("Number of threads: %d\n", num_threads);
return 0;
在上述代码中,我们使用了 OpenMP 的 `#pragma omp parallel` 指令,表示程序中的代码段可以被并行执行。在并行执行时,每个线程可以通过 `omp_get_thread_num()` 函数获取自己的线程编号,并且使用 `omp_get_num_threads()` 函数获取总的线程数。最后,我们输出每个线程的编号,以及总的线程数。
要在 CodeBlocks 中编译和运行这个程序,我们需要进行以下步骤:
1. 打开 CodeBlocks,然后选择 File->New->Project,选择 Console Application 作为项目类型,选择 C Language 作为语言类型,然后点击 Next。
2. 输入项目名称和存储路径,然后点击 Next。
3. 在 "Compiler selection" 页面,选择 GNU GCC Compiler,然后点击 Next。
4. 在 "Project build options" 页面,打开 "Have g++ follow the C++11 ISO C++ language standard [-std=c++11]" 选项,然后点击 Finish。
5. 在代码编辑器中,复制上述示例代码,并保存为一个 C 语言源文件(例如 "main.c")。
6. 点击菜单栏中的 Build->Build,编译程序。
7. 点击菜单栏中的 Build->Run,运行程序。
在运行程序时,可以看到类似于下面的输出:
Hello from thread 1 of 4
Hello from thread 2 of 4
Hello from thread 0 of 4
Hello from thread 3 of 4
Number of threads: 4
这表明我们的程序成功地使用了 OpenMP 来并行执行代码,并且创建了 4 个线程来执行相同的代码。