ตัวแปลงภาษาโปรแกรมที่เราเขียน ให้เป็นภาษาที่ Computer เข้าใจ
โปรแกรมที่อ่าน และ ทำคำสั่งของโปรแกรมทีละบรรทัด โดยไม่ต้องแปลงทั้งโปรแกรมโดยตรงแบบ Compiler
C++ Source Code -> Preprocessing -> Compilation -> Assembly -> Linking -> Executable Program
-
Source Code: โค้ดต้นทาง => โค้ดภาษา C++
-
Preprocessing: การเตรียมการก่อนคอมไพล์ => จัดการกับคำสั่งต่างๆที่อยู่ในโค้ด เช่น #include หรือ #define เพื่อเตรียมการก่อนคอมไพล์
-
Compilation: การคอมไพล์ => Compiler แปลง Code ที่ผ่านการเตรียมการ ไปเป็นภาษา Assembly
-
Assembly: ภาษา Assembly => Assambler จะแปลภาษา Assembly ไปเป็น Machine Code (ภาษาเครื่องที่คอมพิวเตอร์เข้าใจ) จะได้เป็นไฟล์ Object ออกมา
-
Linking: การเชื่อมโยง => Linker จะเชื่อมโยงไฟล์ Object ต่างๆเข้าด้วยกัน รวมไปถึงการแก้ไขการอ้างอิงต่างๆภายใน Code
-
Executable Program: โปรแกรมที่ทำงานได้ => ผลลัพธ์สุดท้ายในกระบวนการคอมไพล์ เป็นโปรแกรมที่ทำงานได้ ซึ่งสามารถรันบนคอมพิวเตอร์ได้