GCC รุ่นที่เก่าแก่ที่สุดได้รับการคอมไพล์โดยใช้คอมไพเลอร์ C ตัวอื่นเนื่องจากมีเวอร์ชั่นอื่นเมื่อเขียน คอมไพเลอร์ C ตัวแรกที่เคยใช้ (แคลิฟอร์เนียในปี 1973, IIRC) ถูกนำมาใช้เช่นกัน PDP-11หรือในภาษาโปรแกรม B ซึ่งนำหน้ามันในทำนองเดียวกันคอมไพเลอร์ C ++ ตัวแรก (CPre / Cfront , 1979-1983) อาจถูกนำมาใช้ครั้งแรกใน C จากนั้นเขียนใหม่ใน C ++
เมื่อคุณคอมไพล์ GCC หรือคอมไพเลอร์โฮสติ้งด้วยตนเองอื่น ๆ ลำดับเต็มของสิ่งปลูกสร้างคือ:
- สร้าง GCC เวอร์ชันใหม่ด้วยคอมไพเลอร์ C ที่มีอยู่
- สร้าง GCC เวอร์ชันใหม่ขึ้นมาใหม่ด้วยรุ่นที่คุณเพิ่งสร้างขึ้น
- (ไม่บังคับ) ทำซ้ำขั้นตอนที่ 2 เพื่อจุดประสงค์ในการตรวจสอบ
กระบวนการนี้เรียกว่าการบูตสแตรป มันทดสอบความสามารถของคอมไพเลอร์ในการคอมไพล์ตัวเองและตรวจสอบให้แน่ใจว่าคอมไพเลอร์ที่ได้นั้นถูกสร้างขึ้นด้วยการปรับแต่งทั้งหมดที่ตัวมันใช้เอง
แก้ไข : Drew Dormann, ในความคิดเห็นที่จุดไปยังบัญชี Bjarne Stroustrup ของการดำเนินงานที่เก่าแก่ที่สุดของ C มันถูกนำมาใช้ใน C ++ แต่แปลโดยสิ่งที่ Stroustrup เรียกว่า "preprocessor" จาก C ++ ถึง C; ไม่ใช่คอมไพเลอร์เต็มตามคำจำกัดความของเขา แต่ C + + ก็ยังถูก bootstrapped ใน C