2012-04-02 126 views
0

与通过编写“copy con foo.txt”创建文件的旧DOS方式一样,我想输入“gcc ...”并开始编写简短的C++程序。有没有办法告诉gcc我们正在做什么?有没有办法告诉gcc从键盘上读取程序?

+1

为什么?你真的会这样做吗?写文件的额外步骤是如此繁重吗? – Oded 2012-04-02 15:24:23

+0

为什么你不只是给它一个文本文件?用户可以快速输入程序并将其保存到文本文件中,然后将其提供给编译器......为什么会使事情复杂化? – 2012-04-02 15:24:29

+0

尽管我在下面提供了一个答案,但我大多同意这里的评论。你可能会认为这些只是一些你永远不想保留的程序。但是,保留所有的实验是一种很好的方式,可以建立一个个人图书馆的例子,以供在稍后忘记工作方式或用于帮助其他人时使用,或在他们覆盖同一地点时回答问题探讨。更好的是,让它成为DVCS回购,所以你永远不会失去历史。 – acm 2012-04-02 15:38:07

回答

1

只需使用' - '告诉gcc从标准输入读取。由于gcc不会知道你要输入什么语言,所以你需要用-x命令行标志来告诉它语言。在本例中,直C:

~$ gcc -x c - 
#include <stdio.h> 
int main(int argc, char* argv[]) 
{ 
    printf("Hello, World\n"); 
    return 0; 
} 
~$ ./a.out 
Hello, World 

对于C++,请使用g++ -x c++ -。您需要为C++调用g ++驱动程序,以便它知道链接C++运行时。

+0

哦,和^ D当你完成打字给EOF。 – acm 2012-04-02 15:27:18

+0

'gcc -x C++ -'或'g ++ -',OP询问C++ – 2012-04-02 15:30:15

+0

是的,它需要是g ++,因此链接步骤可以工作。 – acm 2012-04-02 15:32:52

相关问题