是否可以编译数据流而不是使用gcc编译.c
文件?例如,我可以直接编译代码,而不是将我的代码存储在任何xyz.c
文件中吗?
答案 0 :(得分:8)
使用gcc选项-x
和-
$ echo -e '#include <stdio.h>\nmain(){puts("Hello world");return 0;}' | gcc -xc -ogarbage - && ./garbage && rm garbage Hello world
上面的单行命令由以下部分组成:
echo -e '#include <stdio.h>\nmain(){puts("Hello world");return 0;}' # "source" | # pipe gcc -xc -ogarbage - # compile && # and ./garbage # run && # and rm garbage # delete
答案 1 :(得分:4)
This可能会回答你的问题,但它很少有用。
答案 2 :(得分:1)
您可以创建一个文件,将代码流入其中,然后创建另一个进程(即编译器),将该文件作为参数。然后创建另一个进程(即链接器),它将为您创建一个exe。最后,您可以将该exe作为新进程启动。 但为什么?!:)