我有一个名为-.o
的文件,创建时使用:
echo "int main(){}" | cc -xc -c -
如何将此文件链接到二进制文件?
该命令与:
相同echo "int main(){}" | cc -xc -c - -o-.o
cc
是默认编译器(使用gcc 4.8.4
和clang 800.0.42.1
测试),-xc
认为输入是用C语言编写的,-c
生成对象file,-
将stdin作为输入文件,-o-.o
指定输出文件的名称。
所有这些命令都失败了:
cc -.o
cc -- -.o
cc "-.o"
cc \-.o
cc \\-.o
cc "\-.o"
有这样的错误:
cc: error: unrecognized command line option ‘--’
cc: error: unrecognized command line option ‘-.o’
cc: error: \-.o: No such file or directory
显然我可以重命名文件,但这不是重点。我想知道为什么--
没有实现,如ls,cp,mv,...