เราใช้คอมไพเลอร์ gcc และ g++ ในช่วงเวลาที่ต่างกัน เราจะมาดูกันว่า gcc และ g++ แตกต่างกันอย่างไร
gcc คือคอมไพเลอร์ GNU C และ g++ คือคอมไพเลอร์ GNU C++ ความแตกต่างที่สำคัญมีดังนี้ -
- gcc สามารถคอมไพล์ไฟล์ *.c หรือ *.cpp เป็น C และ C++ ตามลำดับ
- g++ ยังสามารถคอมไพล์ไฟล์ *.c และ *.cpp ได้ แต่รับทั้งคู่เป็นไฟล์ C++
- ถ้าเราต้องการใช้ g++ เพื่อเชื่อมโยงไฟล์อ็อบเจ็กต์ มันจะเชื่อมโยงโดยอัตโนมัติในไลบรารี STD C++ gcc ไม่ทำอย่างนั้น
- gcc รวบรวมไฟล์ C ซึ่งมีมาโครที่กำหนดไว้ล่วงหน้าน้อยกว่า
- gcc รวบรวมไฟล์ C++ ด้วยมาโครที่กำหนดไว้ล่วงหน้าจำนวนมากขึ้น และ g++ จะคอมไพล์ด้วยมาโครที่กำหนดไว้ล่วงหน้ามากขึ้นด้วย
มาโครพิเศษสำหรับไฟล์ C++ มีลักษณะดังนี้ -
#define __GXX_WEAK__ 1 #define __cplusplus 1 #define __DEPRECATED 1 #define __GNUG__ 4 #define __EXCEPTIONS 1 #define __private_extern__ extern