24

代码很简单:

test$ cat test.cpp

int main()
{
}

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

我试过这个:

cat test.cpp | g++ -

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


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

4

2 回答 2

39

编译器可能会告诉你:

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

尝试

cat test.cpp | g++ -x c++ -
于 2013-07-30T13:08:21.553 回答
2

你试过这个吗?

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

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

于 2013-07-30T13:26:49.370 回答