如何转储所有NVCC预处理器定义?

6

我希望能够达到与之相同的效果。

gcc -dM -E - < /dev/null

(如此处所述)-但针对nvcc。也就是说,我想倾销nvcc的所有预处理器定义。遗憾的是,nvcc不支持-dM。我该怎么办?


1
当使用gcc作为底层编译器时,您可以通过在编译时指定-v选项来了解nvcc正在指定的“额外”预处理器定义。可能是这样的:nvcc -v myfile.cu -o myfile 2>&1 >/dev/null |grep -e "-D" - Robert Crovella
你不需要添加“-x c”吗? - S.S. Anne
1
@S.S.Anne:如果不是用于预处理,你就不需要这样做。试试看。 - einpoklum
1个回答

7

不要使用-dM,而是将--compiler-options -dM传递给nvcc。你还应该添加-x cu,因为编译器不知道标准输入的文件类型。因此,您的命令行应该是:

nvcc --compiler-options -dM -E -x cu - < /dev/null

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接