在Ubuntu上面編寫C++,本章節(jié)內(nèi)容主要介紹在Ubuntu在終端窗口下使用vi/vim編輯一個(gè)C++源文件。通過編寫最簡單的示例“Hello,World!”。帶領(lǐng)大家學(xué)習(xí)如何在Ubuntu終端下編輯和編譯C++。這里要求大家會(huì)在Ubuntu上使用vi/vim,也就是要求大家有一點(diǎn)Ubuntu入門的基礎(chǔ)。如果沒有這些基礎(chǔ)也是可以拷貝C++的代碼到Windows上使用像Dev-C++這種輕量級(jí) C/C++ 集成開發(fā)環(huán)境(IDE)進(jìn)行編寫和編譯。
但是編者還是希望大家和編者一起學(xué)習(xí)在Ubuntu下編寫C++,因?yàn)楹竺娴诙碌膬?nèi)容都是在Ubuntu下編寫和講解C++的基礎(chǔ)。同時(shí)也可以鍛煉在Linux開發(fā)C++的能力!
C++ (c plus plus)是一種靜態(tài)類型的、編譯式的、通用的、大小寫敏感的、不規(guī)則的編程語言,支持過程化編程、面向?qū)ο缶幊毯头盒途幊?。C++ 被認(rèn)為是一種中級(jí)語言,它綜合了高級(jí)語言和低級(jí)語言的特點(diǎn)。C++ 是由 Bjarne Stroustrup 于 1979 年在新澤西州美利山貝爾實(shí)驗(yàn)室開始設(shè)計(jì)開發(fā)的。C++ 進(jìn)一步擴(kuò)充和完善了 C 語言,最初命名為帶類的C,后來在 1983 年更名為 C++。C++ 是 C 的一個(gè)超集,事實(shí)上,任何合法的 C 程序都是合法的 C++ 程序。截止2020年,在2017年發(fā)布C++17,已經(jīng)是第五個(gè)C++標(biāo)準(zhǔn)了。我們也見過或者聽過C++98,這樣的C++標(biāo)準(zhǔn),也就是1998年發(fā)布的C++,所以叫C++98,是C++的第一個(gè)標(biāo)準(zhǔn)。
學(xué)習(xí)C++我們要理解概念,而不是深究語言技術(shù)細(xì)節(jié)。我們只要帶著第二章的C++基礎(chǔ)概念,學(xué)習(xí)Qt或者寫C++會(huì)有一定的幫助。
為了寫這份教程,作者也是從新裝了一個(gè)Ubuntu18.04。從頭搭建環(huán)境。我們先配置軟件源的服務(wù)器地址為啊里云的地址。這樣我們可以從國內(nèi)去獲取軟件源,下載速度會(huì)更快。
我們要在Ubuntu編寫C++程序,那么需要有能編寫代碼的文本編輯和C++編譯器。在新裝的Ubuntu環(huán)境里,編譯C語言的GCC沒有安裝,編譯C++的G++也沒有安裝。執(zhí)行下面的執(zhí)指令安裝編譯C語言和C++的環(huán)境。
sudo apt-get install gcc g++sudo apt-get install lsb-core lib32stdc++6 // 安裝其他庫
安裝完成后,可以使用下面的指令來查看安裝的gcc和g++的版本。
g++ -vgcc -v
在終端輸入下面的指令,首先我們創(chuàng)建一個(gè)C++目錄,然后使用cd指令進(jìn)入C++目錄。再創(chuàng)建01_hello_world目錄,進(jìn)入01_hello_world目錄,然后使用vi指令編輯01_hello_world.cpp。
mkdir C++ // 創(chuàng)建一個(gè)C++目錄。cd C++ // 進(jìn)入創(chuàng)建的C++目錄。mkdir 01_hello_world // 創(chuàng)建一個(gè)01_hello_world目錄cd 01_hello_world // 進(jìn)入01_hello_world目錄下。vi 01_hello_world.cpp // 編輯cpp文件,拷貝下文的內(nèi)容
拷貝下面的內(nèi)容到01_hello_world.cpp。
1 #include <iostream>2 using namespace std;3 int main()4 {5 cout << 'Hello, World!' << endl;6 return 0;7 }
第1行,C++ 語言定義了一些頭文件,這些頭文件包含了程序中必需的或有用的信息。上面這段程序中,包含了頭文件 <iostream>。
第2行,using namespace std; 告訴編譯器使用 std 命名空間。命名空間是 C++ 中一個(gè)相對(duì)新的概念。其中std就是C++里的標(biāo)準(zhǔn)命名空間,也就是標(biāo)準(zhǔn)庫里寫好的了,我們可以直接調(diào)用。
第3行,int main() 是主函數(shù),程序從這里開始執(zhí)行。
第5行,cout << 'Hello World'<<endl; 會(huì)在屏幕上顯示消息 'Hello World'并換行?!?lt;<”是運(yùn)算符,endl是換行語句。
第6行,return 0; 終止 main( )函數(shù),并向調(diào)用進(jìn)程返回
執(zhí)行下面的語句進(jìn)行編譯和運(yùn)行這個(gè)簡單的C++程序。
g++ 01_hello_world.cpp -o 01_hello_world // 使用g++編譯。-o后面加的是輸出的目標(biāo)文件。
./01_hello_world // 在終端下執(zhí)行,打印'Hello, World!'并換行。
我們可以拓展一下,如何輸出多行??梢韵裣旅嬉粯訜o限加下去。其中我們發(fā)現(xiàn)打印了第一個(gè)Hello,world!后也換行了,因?yàn)槭褂昧恕癨n”。C++中可以使用C語言的語句,C++是C語言的超集。
1 #include <iostream>2 using namespace std;3 int main()4 {5 cout << 'Hello, world!\n' << 'Hello, world!' << endl;6 return 0;7 }
第5行,我們?cè)诶锩嬖偌佑谩?lt;<”插入運(yùn)算符(重載運(yùn)算符)再插入一句“Hello, world!”打印,這樣終端上就打印了兩行“Hello, world!”。
聯(lián)系客服