我希望能够达到与之相同的效果。
gcc -dM -E - < /dev/null
(如此处所述)-但针对nvcc。也就是说,我想倾销nvcc的所有预处理器定义。遗憾的是,nvcc不支持-dM
。我该怎么办?
我希望能够达到与之相同的效果。
gcc -dM -E - < /dev/null
(如此处所述)-但针对nvcc。也就是说,我想倾销nvcc的所有预处理器定义。遗憾的是,nvcc不支持-dM
。我该怎么办?
不要使用-dM
,而是将--compiler-options -dM
传递给nvcc
。你还应该添加-x cu
,因为编译器不知道标准输入的文件类型。因此,您的命令行应该是:
nvcc --compiler-options -dM -E -x cu - < /dev/null
gcc
作为底层编译器时,您可以通过在编译时指定-v
选项来了解nvcc
正在指定的“额外”预处理器定义。可能是这样的:nvcc -v myfile.cu -o myfile 2>&1 >/dev/null |grep -e "-D"
。 - Robert Crovella