什么" - <的/ dev / null的"表示" gcc -dM -E - <的/ dev / null的&#34 ;?

时间:2014-06-30 02:13:26

标签: c++ c bash gcc

我知道使用

gcc -dM -E - < /dev/null

可以得到gcc的预定义宏,但

是什么
- < /dev/null

在这个命令中意味着什么?根据我的理解,-背后应该有一个选项。我试图搜索gcc manual,但找不到答案。

1 个答案:

答案 0 :(得分:12)

就其本身而言,-表示&#34;从标准输入读取而不是在此命令行上提供的文件名&#34;。这是一种常见的Unix惯例。

< /dev/null重定向来自/dev/null的标准输入,其长度为0.因此,GCC将从标准输入读取并立即到达输入的末尾,使其仅打印预定义的宏(而不是输入中的任何宏,因为没有任何输入)。这是标准的shell语法,不是特定于GCC的调用。

在一起,它们是一种不向期望某些进程的进程提供任何输入的方法。

相关问题