Gcc 開發指南
謹以此文記錄自己在做 Gcc 開發中的收穫與感觸
Gcc 的前世今生
Gcc的最早版本由 Richard M. Stallman 在 1987年3月22日 釋出,那時候叫 GNU C Compiler(顯然,這是GCC為什麼叫GCC的直接原因^_^)。在那之後,GCC增加了對更多語言(Program Language),更多架構(architecture)的支援,
例如在當年晚些時候的 1.15 版本中增加了對 g++ 的支援。接下來十年的Cygnus時代中,GCC隨著自由軟體運動和開源軟體運動的興起而不斷迭代,開發者們不斷將新架構移植到GCC中,從CISC機器移植到了RISC機器。在此期間,gcc 和 g++保持了一致性,
但GDB卻分裂為了無數個版本。直到David Henkel-Wallace(Gumby) 和 John Gilmore接手了Binutils 和 GDB的工作,Gumby設計了現在 binutils 和 gdb 的原始碼架構,兩者共用 BFD(描述二進位制檔案格式和各項引數)庫。John 收集了散落在全球
hacker手中魔改的各種gdb版本,並把它們整合進了 gdb 4.0 中。但在這期間,Cygnus相對保守的作風讓很多開發者感到失望,他們建立了一個叫egcs(發音時eggs)的新專案。1999年4月,egcs和GCC重新合併,EGCS成為了GCC的官方版本,GCC也改名為
GNU Compiler Collection。值得一提的是,建立egcs的幾位大佬,如 H.J.L, Jeff Law, Jakub Jelinek, Andreas Schwab等人至今仍高強度保持著對GCC的熱情。