●1 基本特性
1.1 預處理指令
1.1.1 宏
1.1.2 條件編譯
1.2 變量指針
1.2.1 語法
1.2.2 變量指針的算術運算
1.2.3 通用指針
1.2.4 指針的大小
1.2.5 懸空指針
1.3 關於函數的一些細節
1.3.1 函數的剖析
1.3.2 設計的重要性
1.3.3 棧管理
1.3.4 值傳遞和引用傳遞
1.4 函數指針
1.5 結構
1.5.1 為什麼用結構?
1.5.2 為什麼需要用戶定義類型?
1.5.3 結構都做什麼?
1.5.4 內存布局
1.5.5 結構嵌套
1.5.6 結構指針
1.6 總結
2 從源文件到二進制文件
2.1 編譯過程
2.1.1 構建C項目
2.1.2 第1步——預處理
2.1.3 第2步——編譯
2.1.4 第3步——彙編
2.1.5 第4步——鏈接
2.2 預處理器
2.3 編譯器
抽像語法樹
2.4 彙編器
2.5 鏈接器
2.5.1 鏈接器是如何工作的?
2.5.2 鏈接器會上當!
2.5.3 C++名字改編
2.6 總結
3 目標文件
3.1 應用程序二進制接口(ABI)
3.2 目標文件格式
3.3 可重定位目標文件
3.4 可執行目標文件
3.5 靜態庫
3.6 動態庫
手動加載共享庫
3.7 總結
4 進程內存結構
4.1 進程的內存布局
4.2 認識內存結構
4.3 探索靜態內存布局
4.3.1 BSS段
4.3.2 Data段
4.3.3 Text段
4.4 探測動態內存布局
……
5 棧和堆
6 面向對像和封裝
7 組合和聚合
8 繼承和多態
9 C++中的抽像和OOP
10 Unix歷史及其體繫結構
11 繫統調用和內核
12 近期新的C語言
13 並發
14 同步
15 線程執行
16 線程同步
17 進程執行
18 進程同步
19 單主機進程間通信和套接字
20 套接字編程
21 與其他語言的集成
2測試和調試
23 構建繫統
後記
對於C語言來說,隻了解語法是遠遠不夠的。工業界需要開發人員對C語言的規則和實踐有嚴格、科學的理解。這本精練、實用的指南將帶領你學習運用C語言強大的底層語言能力來編寫高效的實際繫統,幫助您成為一名專業的C程序員。在現有C語言知識的基礎上,您將掌握預處理器指令、宏、條件編譯、指針等高階知識;您將形成對算法設計、函數和結構體的新見解,並學會如何在資源受限的嚴格環境中利用C語言的特性使應用程序獲得優選性能。即使到了現在,C語言在編程中也依然扮演著關鍵角色,它仍然是精密工程、航空航天、空間研究等領域的核心語言。本書展示了C語言如何與Unix協同工作,如何在C語言中實現面向對像原則,並全面介紹了多進程問題。在本書中,作者Amini鼓勵讀者自己思考、提問、應用和實驗。本書對於任何想提升C語言應用能力的人來說都是必不可少的。