如何在終端編譯C++代碼


C++語言從編寫-->執行整個過程。一般來講,開發一個C++程序需要經過以下幾步
1. 編寫代碼,
2. 編譯器進行編譯,compile    生成.o的可執行的二進制目標文件
3. 連接器進行連接。  鏈接代碼文件,生成可執行.exe文件
4. 執行。

 


 

電腦:Mac OS系統

1.打開電腦的終端

2.$ mkdir cc     #創建一個cc的目錄

3.$ cd cc    # 進入這個目錄下

4.$ vi hello.cpp     # 建立一個hello.cpp的文件,並進入編輯C++代碼的環境

//   測試程序如下:

#include<iostream>

using namespace std;

 int main()

{

        cout<<"Hello world!"<<endl;

        return 0;

}

 

5.按ESC然后按冒號,此時就可以輸入:wq保存退出,返回到命令行模式

6.$ ls -l    # 查看已經編寫的文件      $ more hello.cpp    是查看文件中的內容

7. $ g++ hello.cpp     #  g++  是編譯       此時用$ ls -l 查看里面多了一個a.out 文件,即是生成的目標文件

8. $ ./a.out    # 用命令./ 執行.out 文件,就可以得到文件的輸出了


 

保存命令:

按ESC鍵,然后再shift+:(輸入冒號),此時在冒號的后面輸入下面的命令(例如 :wq 保存退出) 就可以跳到命令行模式

:w 保存文件但不退出vi
:w file 將修改另外保存到file中,不退出vi
:w! 強制保存,不推出vi
:wq 保存文件並退出vi
:wq! 強制保存文件,並退出vi
q: 不保存文件,退出vi
:q! 不保存文件,強制退出vi
:e! 放棄所有修改,從上次保存文件開始再編輯

 

 

 

g++和gcc的區別:

1、對於不同后綴的文件當作程序不同。

c后綴的文件,gcc把它當做是C程序;g++當做是C++程序;對於.cpp后綴的文件,gcc和g++都會當做c++程序。

2、編譯階段調用不同,g++會調用gcc;

3、連接階段方式不同,通常會用g++來完成,這是因為gcc命令不能自動和c++程序使用的庫連接。

 

gcc/g++在執行編譯工作的時候,總共需要4步

1.預處理,生成.i的文件[預處理器cpp]

2.將預處理后的文件轉換成匯編語言,生成文件.s[編譯器egcs]

3.有匯編變為目標代碼(機器代碼)生成.o的文件[匯編器as]

4.連接目標代碼,生成可執行程序[鏈接器ld]

 


win下py代碼,頭文件是#-*-encoding:utf-8-*-,是告訴python解釋器, 應該以utf-8編碼來解釋py文件, 對於python 2.6/2.7, 如果程序中包含中文字符, 又沒有這一行, 運行將會報錯. 但python3.1沒有這行, 也會成功運行的。
linux下,頭文件需要寫c。
加上這行, 這個py就處於了可執行模式下, (當然是針對linux類的操作系統), 這個hint, 告訴操作系統要使用哪個python解釋器來執行這個py. 在linux上執行一下命令 /usr/bin/env python ,就知道這行其實是call一下python解釋器.



vi 模式下也可也編寫其他代碼,利於編寫Python代碼,只需要創建一個.py的問價,然后進入編寫模式,此時要在編寫文件的時候,加上頭文件
我試了,在Linux下寫Python文件時,需要加上的文件頭有:
/usr/bin/env python
#-*-encoding:utf-8-*- # 不加這個會報錯,報錯內容如下

  File "try.py", line 3

SyntaxError: Non-ASCII character '\xe5' in file try.py on line 3, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM