2012-04-02 134 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

相關問題