关于 csh 中的 g++ -D
About g++ -D in csh
我有一个用于 C 代码的 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
有谁能告诉我怎么用吗?
如果你只需要定义宏就不要放=
符号。
g++ ... -D$i
此外,您在第一个 for 列表中使用逗号 ,
作为分隔符,而在第二个列表中没有。第二个是正确的,您应该删除第一个中的逗号。 (否则你会尝试定义宏CORESTATIC,
。)
我有一个用于 C 代码的 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
有谁能告诉我怎么用吗?
如果你只需要定义宏就不要放=
符号。
g++ ... -D$i
此外,您在第一个 for 列表中使用逗号 ,
作为分隔符,而在第二个列表中没有。第二个是正确的,您应该删除第一个中的逗号。 (否则你会尝试定义宏CORESTATIC,
。)