To call printf("Hello!");
在我使用的终端的 C 中
echo '#include<stdio.h>
void main()
{
printf("Hello!");
}' > foo.c
然后打电话gcc foo.c
来进行输出。不幸的是,管道
echo '#include<stdio.h>
void main()
{
printf("Hello!");
}' | gcc
因没有输入文件而抱怨失败。最终,我想要一个可以编译 C 的脚本command
从终端与./script [command]
。任何建议将不胜感激。
是的,但是您必须使用指定语言-x
选项。使用以下命令指定输入文件为 stdin,语言为 C-xc
(如果你希望它是 C++,请使用-xc++
)。所以在你的情况下命令是
echo '#include<stdio.h>
void main()
{
printf("Hello!");
}' | gcc -o output.o -xc -
您可以阅读更多有关命令行编译器参数: see 调用海湾合作委员会章节。
还有另一种方法可以做到这一点,无需echo
:
gcc -o output.o -xc - <<< '#include<stdio.h>
void main()
{
printf("Hello!");
}'
然而,正如@Basile 所说,避免处理 C 文件是不值得的. 检查他的答案以获取更多信息.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)