編譯步驟

  1. 從你給定的原始碼中讀取單個詞。
  2. 把這些詞按照單詞、數字、符號、運算子進行分類。
  3. 通過模式匹配從分好類的單詞中找出運算子,明確這些運算子想進行的運算。
  4. 解析器產生一個運算子的抽象語法樹AST(表示式樹)。
  5. 遍歷表示式樹中的所有運算子,產生相應的二進位制資料。
  6. 生成可執行檔案

C++編譯器

//.h文件
#define DEFAULT_VALUE 0

class MyClass{
	public:
		void fun();
	public:
		int value = DEFAULT_VALUE
}
//.cpp文件
#include "MyClass.h"
void MyClass::fun(){
	// Do something
	return;
}
  1. 預編譯:編譯器把.h頭文件替換到.cpp源文件相關的位置上

    class MyClass{
    	public:
    		void fun();
    	public:
    		int value = 0
    }
    
    void MyClass::fun(){
    	// Do something
    	return;
    }
    
  2. 編譯:編譯.cpp源文件,若成功的話會生成目標文件.o for Linux/.obj for Win