7

这是我的尝试:

CMD 文件:

@SET PATH=%PATH%;D:\mingw\bin
type test10.cpp | g++ -xc++ -o test10.exe

代码(此处无关):int main() {}

我得到的错误:

g++: fatal error: no input files
compilation terminated.

我认为 -x 选项是用于信号输入标准输入,gcc 本身就是这么说的。

4

2 回答 2

15

-x选项指定输入语言,但它不告诉 g++ 从标准输入读取。为此,您可以将单个破折号作为文件名传递。

type test10.cpp | g++ -o test10.exe -x c++ -
于 2013-01-28T13:49:27.447 回答
0

您可以here doc在交互式外壳中使用。例如:

gcc -x c - <<eof
#include <stdio.h>

void foo()
{
    int a = 10;
    static int sa = 10;

    a += 5;
    sa += 5;

    printf("a = %d, sa = %d\n", a, sa);
}


int main()
{
    int i;

    for (i = 0; i < 10; ++i)
        foo();
}
eof

参考

于 2020-12-24T05:48:45.677 回答