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