我知道用
gcc -dM -E - < /dev/null
可以得到gcc
的预定义宏,但是
- < /dev/null
在这个命令中是什么意思?按照我的理解,-
后面应该有一个选项。我试图搜索 gcc manual , 但找不到答案。
最佳答案
就其本身而言,-
意思是“从标准输入中读取,而不是从该命令行上提供的文件名中读取”。这是一个常见的 Unix 约定。
< /dev/null
从 /dev/null
重定向标准输入,其长度为 0。因此 GCC 将从标准输入读取并立即到达输入的末尾,使其仅打印预定义的宏(而不是输入中的任何宏,因为没有任何输入)。这是标准的 shell 语法,不特定于 GCC 的调用。
它们共同构成了一种不向需要输入的流程提供输入的方法。
关于c++ - "- </dev/null"中的 "gcc -dM -E - </dev/null"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24482137/