C++ “是什么?”</dev/null";“中的平均值”;gcc-dM-E-</dev/null";?

C++ “是什么?”</dev/null";“中的平均值”;gcc-dM-E-</dev/null";?,c++,c,bash,gcc,C++,C,Bash,Gcc,我知道使用 gcc-dM-E-

我知道使用

gcc-dM-E-
可以获得gcc的预定义宏,但是

-

这个命令是什么意思?根据我的理解,在
-
后面应该有一个选项。我试图继续搜索,但找不到答案。

就其本身而言,
-
表示“从标准输入中读取,而不是从本命令行提供的文件名中读取”。这是一种常见的Unix约定

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

总之,它们是一种不向流程提供输入的方式,该流程需要一些信息