The Linux GCC HOWTO中譯版V0.1

1. 生火上路(Preliminaries)!
1.1. ELF vs. a.out
1.2. 作者的私語(Administrata)
1.3. 印刷與排版(typography)
2. 上哪抓這些東東?
2.1. 這份文件座落之處
2.2. 其它相關的說明文件
2.3. GCC
2.4. C程式庫與標頭檔
2.5. 相關聯的工具 (as, ld, ar, strings etc)
3. GCC的安裝(installation)與啟用(setup)
3.1. GCC的版本
3.2. 東東裝好後都到哪兒去了?
3.3. 標頭檔ㄋㄟ?標頭檔ㄋㄟ?
3.4. 建立交叉編譯器(Building cross compilers)
3.4.1. 將Linux當作目標作業平台(target platform)
3.4.2. Linux當成來源作業平台(source platform),MSDOS作為目標作業平台
4. 移植(Porting)與編譯(Compiling)程式
4.1. gcc自行定義的符號
4.2. 線上求助說明(invocation)
4.2.1. 旗正飄飄~(flags)
4.2.1.1. 有個性的微處理器(Processor-specific)
4.2.2. Internal compiler error: cc1 got fatal signal 11
4.3. 移植能力(Portability)
4.3.1. BSD教派(BSDisms) (有 bsd_ioctl, daemon<sgtty.h>)
4.3.2. 失落的封印(`Missing' signals)
4.3.3. K & R
4.3.4. 前置處理器(Preprocessor)的符號卯上函數原型宣告(prototypes)
4.3.5. sprintf()
4.3.6. fcntl 與相關的函數; FD_*家族的定義到底擺在哪裡?
4.3.7. select() 的計時(time-out)---程式執行時會處於忙碌-等待的狀態(busy-waiting).
4.3.8. 產生中斷的系統呼叫(Interrupted system calls)
4.3.8.1. 徵兆(Symptom):
4.3.8.2. 問題點:
4.3.9. 可以寫入的字串(Writable strings)
4.3.10. 為什麼呼叫execl()會失敗?
5. Debugging and Profiling
5.1. Preventative maintenance (lint)
5.2. 除錯(Debugging)
5.2.1. 我要怎樣做才能將除錯資訊放到一支程式裡頭?
5.2.1.1. 那,能不能把除錯資訊給拿掉?
5.2.2. 實用的軟體(Available software)
5.2.3. 背景程式(Background (daemon) programs)
5.2.4. 核心檔案(Core files)
5.3. 旁敲側擊(Profiling)
6. 連結(Linking)
6.1. 共享程式庫 vs靜態程式庫
6.2. Interrogating libraries (`which library is sin() in?')
6.3. X檔案???
6.4. 建立你自己的程式庫(Building your own libraries)
6.4.1. 版本控制(Version control)
6.4.2. ELF? 它到底是什麼東東ㄋㄟ?
6.4.2.1. 怎麼又來了?
6.4.2.2. ELF共享程式庫
6.4.2.3. 版本編號, soname與符號連結
6.4.3. a.out---舊舊的格式~
6.4.3.1. ZMAGIC vs QMAGIC
6.4.3.2. 檔案配置(File Placement)
6.4.3.3. ``libc-lite''?
6.4.4. 連結:常見的問題
7. 動態載入(Dynamic Loading)
7.1. 基本概念
7.2. 錯誤訊息(Error messages)
7.3. 控制動態載入器的運作
7.4. 以動態載入撰寫程式
8. 與發展人士聯絡
8.1. Bug報表
8.2. 協助發展
9. 結語
9.1. 名人榜
9.2. 翻譯
9.3. 歡迎任何的回饋(Feedback)
9.4. 合法的行逕規定
10. 索引