程式揭秘-從 C/C++ 程式碼探索電腦系統的運作原理 [中文原創經典]
內容描述
<內容簡介>
為您抽絲剝繭揭程式碼背後少為人知的本質與電腦系統運作機制
本書從程式設計角度出發,以 C/C++ 為描述語言,以 Visual C++ 為形式工具,將隱藏在程式碼背後的關於計算機組成原理、電腦作業系統等方面的機制和知識娓娓道來,不僅讓讀者知其然,更要讓讀者知其所以然,並讓這些知識再反饋回程式設計的實踐,從而幫助讀者寫出更適合機器最佳化的高品質程式碼。
本書揭開程式碼背後鮮為人知的秘密,具體說來,主要討論了包括電腦底層程式、記憶體與指標、電腦指令與代碼系統、函數呼叫的機制、多層級儲存系統、執行緒與處理程序的概念,以及程式碼最佳化等多方面的話題。
本書適合讀者:
電腦狂熱愛好者
想理解電腦底層運作機制的讀者
工程師與程式設計的技術人員
大專院校相關科系的參考與教用書
<章節目錄>
Chapter 01 緒論
1.1 電腦系統初探
1.2 電腦語言與編譯技術
1.3 C 語言神話
1.4 奇蹟的延續
1.5 本章小結
Chapter 02 揭開資料表示的面紗
2.1 進制系統
2.2 位元與位元操作
2.3 電腦中的數值
2.4 讓電腦學會寫字
2.5 C 語言基底資料型別
2.6 本章小結
Chapter 03 變數與位址
3.1 程式都在記憶體中
3.2 很多初學者都怕指標
3.3 睜大眼睛看記憶體
3.4 陣列與指標是近親
3.5 再談指標
3.6 本章小結
Chapter 04 動態記憶體管理
4.1 malloc 和free
4.2 sizeof 並不複雜
4.3 記憶體操作函數
4.4 new 和delete
4.5 記憶體錯誤面面觀
4.6 使用Visual C++檢查記憶體洩漏
4.7 本章小結
Chapter 05 程式碼與指令系統
5.1 還原程式碼的本來面目
5.2 指令——簡單or 複雜
5.3 如何找到位址
5.4 本章小結
Chapter 06 函數與函數呼叫
6.1 函數與參數
6.2 函數的遞迴呼叫
6.3 記憶體的使用
6.4 程式在記憶體中的模樣
6.5 本章小結
Chapter 07 多層級儲存系統
7.1 儲存系統及層級結構
7.2 快取儲存
7.3 虛擬記憶體
7.4 本章小結
Chapter 08 作業系統互動
8.1 多工
8.2 處理程序
8.3 Win32 處理程序程式設計
8.4 執行緒
8.5 調度
8.6 Win32 執行緒程式設計
8.7 本章小結
Chapter 09 瓶頸與最佳化
9.1 最佳化還是不最佳化
9.2 測量與分析的內容
9.3 測量與分析的方法
9.4 基本規律
9.5 程式最佳化路線
9.6 編譯器不是萬能的
9.7 實際最佳化建議
9.8 本章小結
附錄A 淺談程式設計能力的培養與提高
寫給程式設計初學者的話
基礎扎實真的很重要,什麼語言其實不重要
興趣是最好的老師,實踐是進步的捷徑,需求是靈感的源泉
一本好書的作用不可忽視
學習C++的一些建議
卓越的程式設計之道
附錄B 程式人生
生活是一種體驗
真的猛士
成功的境界
人生博弈
由人類學的觀點想到的