2015-04-25 27 views
0

我有C代碼CSH如下:約g ++ -D在csh

foreach i (COARSE_STATIC, COARSE_DYNAMIC, FINE_STATIC, FINE_DYNAMIC) 
    foreach j (1 2 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60) 
     g++ -o proj2 project2.cpp -O3 -lm -openmp -D=$i -DNUMT=$j 
     ./proj2 >> OUT 
    end 
    echo '\n' >> OUT 
end 

我對-D=$i一些問題,我知道這是不正確的,我不知道如何修改它快遞:

#define COARSE_STATIC 

有沒有人可以告訴我如何使用它?

回答

3

只要不要把=標誌,如果你只需要定義宏。

g++ ... -D$i 

還你昏迷,作爲你的第一個分隔符的列表,而不是在第二位。第二個是正確的,你應該先刪除昏迷。 (否則,您將嘗試定義宏CORESTATIC,。)

+0

謝謝!這樣可行 ! – villion