如何从stdin编译代码?

时间:2013-07-30 13:03:11

标签: c++ linux gcc

代码非常简单:

test$ cat test.cpp

int main()
{
}

有没有办法编译来自标准输出的代码?

我试过这个:

cat test.cpp | g++ -

和一些变体,但没有一个产生可执行文件。


只是一些澄清。我有一个程序预处理文件,并生成另一个我想编译的文件。我想过不创建这个中间文件,而是直接生成目标文件。

2 个答案:

答案 0 :(得分:16)

编译器可能会告诉你:

-E or -x required when input is from standard input

尝试

cat test.cpp | g++ -x c++ -

答案 1 :(得分:2)

你试过这个吗?

$ cat tst.cpp | g++ -x c++ -

我刚刚在Cygwin下尝试过,没有问题。