【发布时间】:2010-07-02 21:33:10
【问题描述】:
我有一个 MPI 例程的功能实现,它运行良好。在使 MPI 和共享内存混合的过程中,我使用了 pthreads。这反过来证明了 pthread_barriers 的需要。
但是当我尝试使用 mpicc 编译器编译我的代码时,它会抱怨 pthread_barrier_t 和其他屏障命令。如果我删除这些,并保留其他线程部分,它编译就好了。
这是我插入的用于中断编译的代码行:
pthread_barrier_t* barrier;
对于编译我使用:
mpicc -lm myprogram.c -o myprogram
编译器返回的错误是:
myprogram.c:34: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
第 34 行对应我上面写的内容。
[编辑] 我在 Ubuntu 9.10 上运行它,使用以下 gcc/mpicc 编译器: gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1。 [/编辑]
有谁知道可能出了什么问题以及如何编译?
干杯!
【问题讨论】:
标签: c compiler-errors pthreads mpich