嵌入式開發之C++基礎學習筆記1--綜合比較HelloWorld示例

選擇C++的理由:

1)C++語言是由C語言擴充而來。它是一門混合型的語言,既支持傳統的結構化程序設計,又支持面向對象的程序設計,這使得C++很是流行。它在編程中支持面向對象。所以,它比C更適合人們的思考方式,而且比C要安全、可靠、有效。可是它並不像Java那樣全面實現類的使用,這使得它很靈活,可以適應多種場合的須要。

2)C++是編譯語言,性能良好,效率更高。它不像Java、PHP、ASP等語言,須要在運行時轉換爲機器碼,或者讀一條語句執行一條。它直接被編譯爲機器可識別的機器碼。

3)C++編寫的程序獨立性好。只要C++編譯時產生的機器碼不依賴外部的動態連接庫,C++就能夠在不須要安裝額外程序的狀況下,移動到運行一樣操做系統的其餘機器和微處理器上。而移動Java程序時須要先安裝Java運行期庫。這是C++語言成功流行的一個重要緣由。

4)C++語言應用極爲普遍。尤爲在底層編程和系統級編程上更是C++的傳統優點應用。在數據庫和多媒體方面,C++又以其卓越的穩定性而贏得了榮譽。


與C編寫代碼不一樣,C++關於HelloWorld這麼一個簡單程序有不少變化

第一個例子:

jellonwu @jintao :~/Desktop$ vim test1.cpp
#include <iostream>
using namespace std;
int main()
{
        cout<<"Hello world!"<<endl;
}


jellonwu @jintao :~/Desktop$ g++ test1.cpp -o test1
jellonwu @jintao :~/Desktop$ ./test1
Hello world!

第二個例子:

jellonwu @jintao :~/Desktop$ vim test2.cpp
/*第一部分*/
//這是一個演示程序,它從命令行讀入一個整數,而後加 1 再輸出
/*第二部分*/
#include <iostream>
using namespace std;
/*第三部分*/
int main()
{
int x;
cout<<"輸入整數:";
cin>>x;
x=x+1;
cout<<"x=x+1="<<x<<endl;
return 0;
}
jellonwu @jintao :~/Desktop$ g++ test2.cpp -o test2
jellonwu @jintao :~/Desktop$ ./test2
輸入整數:12
x=x+1=13


C++程序通常包含三部分:
1)第一部分:註釋部分
2)第二部分:預處理部分
既在編譯前要處理的工做。這裏是以#include 說明的頭文件包
含代碼#include <iostream>,它指示編譯器在預處理時,將文件 iostream 中的代碼嵌入到
該代碼指示的地方。其中#include 是編譯指令。頭文件 iostream 中聲明瞭程序須要的輸入
輸出操做的信息。
3)第三部分:主要部分

例子三:

#include <iostream>
using namespace std;
int main()
{
cout<<"Hello world!HAHA"<<endl;
int x;
int y;
int z;
cout << "輸入第 1 個數:";
cin >> x;
cout << "輸入第 2 個數:";
cin >> y;
cout << "輸入第 3 個數:";
cin >> z;
cout << z << endl;
cout << y << endl;
cout << x << endl;
return 0;
}

總結

C++與C的HelloWorld程序的幾點不一樣: linux

1)stdio.h 是 C 語言的輸入輸出支持頭文件,iostream.h是C++的輸入輸出頭文件。
2)printf 語句是 C 語言中的輸出語句,C++中的輸出語句則使用 cout 流
關於控制端輸入,C語言中是scanf(),C++中是cin>>
3)關於main函數,C語言中main()函數可爲void或者int類型
在C++中g++編譯器要求main必須爲int類型,由於 ISO C++ 不容許聲明無類型的‘main’
有些編譯器並不要求 main 函數必定返回值,例如 Visual C++
4)關於頭文件導入
C導入:#include <stdio.h>
C++導入:#include <iostream>
         using namespace std;
注意C++導入的這兩條必須同時存在,不然系統會提示 cin 和 cout 找不到。
5)關於文件名,C源文件名.c,C++源文件名.cpp
5)關於編譯器,C語言經常使用gcc,而C++語言經常使用g++,這些命令都在linux自帶,與gcc用法基本同樣 【g++ 源文件 -o 執行文件】

關於gcc和g++

gcc and g++分別是GNU的c & c++編譯器
gcc/g++在執行編譯工做的時候,總共須要4步
  ⒈預處理,生成.i的文件[預處理器cpp]
  ⒉將預處理後的文件轉換成彙編語言,生成文件.s[編譯器egcs]
  ⒊由彙編變爲目標代碼(機器代碼)生成.o的文件[彙編器as]
  ⒋鏈接目標代碼,生成可執行程序[連接器ld]


C++中的常見保留字

_asm abstract bool break case catch while char class const continue default delete do double else enum explicit extern false float for friend goto if inline int long namespace new operator private protected public struct class register return short signed sizeof static switch template this throw true try typedef union unsigned using virtual void volatile 保留字是系統預留的符號,這些符號已經被賦予特定的意義。因此程序員只能直接使 用它們而不能修改其定義。例如,保留字 int 和 float 分別被用來表示整型數據類型和浮點型 特別注意: You cannot have two main functions in the same project. Put them in separate projects or rename one of the functions and call it from the other main function. You can never have more than one main() function in your project since it is the entrypoint, no matter what the parameter list is like. 在一個C++項目裏面有且只能有一個main()方法,這是強制規定,不然編譯報錯:multiple definition of `main'
相關文章
相關標籤/搜索