【发布时间】:2011-03-29 07:37:46
【问题描述】:
GCC 通常被指示通过-o 开关输出到文件。如果没有提供,它似乎会决定一个适当的名称并输出到该名称。如何让 GCC 将其生成的输出写入标准输出?
【问题讨论】:
-
你要把它传送到哪里?
-
正如 ergosys 的回答所暗示的,GCC 的某些调用将输出一个程序集文件,而不是二进制文件。就我而言,我想看看它!
GCC 通常被指示通过-o 开关输出到文件。如果没有提供,它似乎会决定一个适当的名称并输出到该名称。如何让 GCC 将其生成的输出写入标准输出?
【问题讨论】:
gcc -o /dev/stdout foo.c
请注意,/dev/stdout 被定义为符号链接:/dev/stdout -> /proc/self/fd/1。
【讨论】:
-o CON?自从我完成Windows以来已经有一段时间了。 ://
gcc -o /dev/stdout foo.c 不输出任何内容,但 gcc -c -o /dev/stdout foo.c 删除 /dev/stdout!
您可以使用 -o-,例如打印装配列表:
gcc -S -o- in.c
【讨论】:
gcc -o- test.c 创建一个名为- 的可执行文件。
嗯,你打算如何处理转储到标准输出的二进制目标文件?无论如何,一些程序接受'-'(单减号,无引号)字符作为标准输出的替代品。如果你在linux上,你可以-o /dev/fd/1
【讨论】:
/dev/fd/1写任何东西安全吗?