Jua*_*blo -1 linker compilation openmp
我有这个 openmp 代码
#include <omp.h>
#include <stdio.h>
int main()
{
#pragma omp parallel
{
fprintf(stderr, "thread %d\n", omp_get_thread_num());
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我编译、链接并使用-fopenmp
gcc-6 -std=c99 -Wall -Wextra -pedantic -fopenmp -Iinclude -c -o build/main.o src/main.c
gcc-6 -o bin/main build/main.o -fopenmp
Run Code Online (Sandbox Code Playgroud)
代码工作
$ ./bin/main
thread 0
thread 1
thread 2
thread 3
Run Code Online (Sandbox Code Playgroud)
但当我只将标志放入链接时不要这样做
gcc-6 -std=c99 -Wall -Wextra -pedantic -Iinclude -c -o build/main.o src/main.c
src/main.c: In function 'main':
src/main.c:6:0: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
#pragma omp parallel
gcc-6 -o bin/main build/main.o -fopenmp
Run Code Online (Sandbox Code Playgroud)
代码可以工作但不能并行
$ ./bin/main
thread 0
Run Code Online (Sandbox Code Playgroud)
为什么我需要添加-fopenmp编译和链接时间?
| 归档时间: |
|
| 查看次数: |
3536 次 |
| 最近记录: |