0

我尝试使用 cilk 编译程序,但它不起作用

g++ -std=c++11 -fcilkplus -lcilkrts -ldl -O2 src/cpp/* -o bin/exe 

src/cpp/sous_monoide.cpp: Dans la fonction 
src/cpp/sous_monoide.cpp:269:19: erreur : expected ‘)’ before ‘;’ token
cilk_for (i = 0; i < limite; i++){
               ^
src/cpp/sous_monoide.cpp:269:36: erreur : expected ‘;’ before ‘)’ token
cilk_for (i = 0; i < limite; i++){
                                ^
src/cpp/sous_monoide.cpp:312:1: erreur : expected ‘}’ at end of input
 }
 ^
src/cpp/sous_monoide.cpp:312:1: erreur : expected ‘}’ at end of input
src/cpp/sous_monoide.cpp:312:1: erreur : expected ‘}’ at end of input

这是代码:

const int limite = n-1;
int i;
cilk_for (i = 0; i < limite; i++){
  ....
}

谢谢你的帮助

4

2 回答 2

0

您需要多阅读 文档!如果您正在编译 C++ 而不是 C(看起来像),则需要在 cilk_for 语句中定义控制变量的变量。所以你不能使用:

int i;
cilk_for (i =.......... 

你必须使用:

cilk_for (int i = 0.... 
于 2016-07-28T13:39:23.480 回答
0

你包括 cilk/cilk.h 吗?

#include <cilk/cilk.h>

cilk_for在这个头文件中定义。或者,您可以使用_Cilk_for而不包括标题。

于 2016-07-29T13:24:00.367 回答