การคอมไพล์โปรแกรม C++ ประกอบด้วย 3 ขั้นตอนหลัก:
- Preprocessing (ก่อนคอมไพล์) - C Preprocessor เป็นเครื่องมือแทนที่ข้อความ จัดการคำสั่ง
#include,#defineฯลฯ ก่อนคอมไพล์จริง - Compilation (คอมไพล์) - คอมไพเลอร์แปลงโค้ด C++ ที่ผ่าน preprocessing เป็นโค้ดแอสเซมบลี แล้วแอสเซมเบลเลอร์แปลงเป็นโค้ดเครื่อง (Object files) Object files อาจอ้างอิงสัญลักษณ์ที่ยังไม่ได้นิยาม
- Linking (ลิงก์) - ลิงเกอร์รวม object files ให้เป็นไฟล์รันได้ (executable) หรือไลบรารี แทนที่การอ้างอิงที่ไม่ได้นิยามด้วยที่อยู่จริง สัญลักษณ์ต้องถูกนิยามใน object files อื่นหรือไลบรารี