c++ - "- </dev/null"中的 "gcc -dM -E - </dev/null"是什么意思?

标签 c++ c bash gcc

我知道用

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/

相关文章:

c - 如何求数组[x] = 数组[x] + 1

linux - 字符串操作 - 替换某些字符

bash - 如何通过 ssh 从远程服务器运行 expect 脚本?

c++ - 通过模板编译时父子关系

c++ - void* 和 *(void**) 有什么区别?

C++树输出错误

连接到 IPv4 映射的 IPv6 地址失败

c - 用 C 语言在标准输出中打印新行的最快方法?

python - 无法使用bash脚本在virtualenv中运行python脚本

c++ - Rosenbrock 检验函数计算的准确性