目錄(163章)
倒序
- 封面
- 版權信息
- 這可不是個序
- 談談“如何選書” ——代序
- 前言
- 第1章 緒論
- 1.1 計算機系統初探
- 1.1.1 換個角度看計算機
- 1.1.2 CPU很好很強大
- 1.2 計算機語言與編譯技術
- 1.2.1 如何讓機器理解你
- 1.2.2 編譯技術與開發環境
- 1.2.3 程序開發流程
- 1.3 C語言神話
- 1.3.1 C語言的歷史
- 1.3.2 簡單說說C語言的特點
- 1.4 奇跡的延續
- 1.4.1 C++的產生與發展
- 1.4.2 C++與面向對象思想
- 1.5 本章小結
- 第2章 揭開數據表示的面紗
- 2.1 進制系統
- 2.1.1 最簡單的計數方式
- 2.1.2 計算機里只有黑白
- 2.1.3 壓縮表示的二進制
- 2.2 位與位操作
- 2.2.1 計算機存儲的單位
- 2.2.2 位操作和位段
- 2.3 計算機中的數值
- 2.3.1 一種最簡單的數
- 2.3.2 現實世界需要負數
- 2.3.3 只有整數還不夠
- 2.4 讓計算機學會寫字
- 2.4.1 ASCII碼
- 2.4.2 漢字編碼
- 2.4.3 更強大的編碼
- 2.5 C語言基本數據類型
- 2.5.1 整型
- 2.5.2 字符型
- 2.5.3 注意浮點數陷阱
- 2.6 本章小結
- 第3章 變量與地址
- 3.1 程序都在內存中
- 3.2 很多初學者都怕指針
- 3.3 睜大眼睛看內存
- 3.4 數組與指針是近親
- 3.5 再談指針
- 3.6 本章小結
- 第4章 動態內存管理
- 4.1 malloc和free
- 4.2 sizeof并不復雜
- 4.3 內存操作函數
- 4.3.1 memset
- 4.3.2 memcpy和memmove
- 4.4 new和delete
- 4.5 內存錯誤面面觀
- 4.5.1 最怕內存泄漏
- 4.5.2 小心重復釋放
- 4.5.3 指針是個壞東西
- 4.5.4 超量寫內存
- 4.6 使用Visual C++檢查內存泄漏
- 4.7 本章小結
- 第5章 代碼與指令系統
- 5.1 還原代碼的本來面目
- 5.1.1 內存中的代碼
- 5.1.2 指向函數的指針
- 5.1.3 CPU的存儲器
- 5.1.4 寄存器變量
- 5.1.5 寄存器組舉例
- 5.2 指令——簡單or復雜
- 5.2.1 指令格式
- 5.2.2 操作類型
- 5.2.3 操作數類型
- 5.3 如何找到地址
- 5.3.1 下一步該做什么
- 5.3.2 計算機知道自己需要什么
- 5.4 本章小結
- 第6章 函數與函數調用
- 6.1 函數與參數
- 6.1.1 C/C++中的函數
- 6.1.2 參數傳遞
- 6.1.3 作用域
- 6.2 函數的遞歸調用
- 6.2.1 到處都是遞歸
- 6.2.2 小心使用遞歸
- 6.2.3 遞歸與非遞歸
- 6.2.4 內、外部變量分配原理
- 6.3 內存的使用
- 6.3.1 活動記錄與棧
- 6.3.2 靜態分配
- 6.3.3 有靜就有動
- 6.4 程序在內存中的模樣
- 6.5 本章小結
- 第7章 多級存儲系統
- 7.1 存儲系統及層級結構
- 7.1.1 存儲器分類
- 7.1.2 存儲器的層級結構
- 7.1.3 訪問的局部性原理
- 7.1.4 再談存儲器的層級
- 7.2 高速緩存
- 7.2.1 緩存設計策略
- 7.2.2 多級緩存原理
- 7.2.3 實際編碼指導
- 7.3 虛擬內存
- 7.3.1 何為虛擬內存
- 7.3.2 虛擬地址
- 7.3.3 頁面請求與磁盤緩沖
- 7.3.4 工作集合與系統顛簸
- 7.3.5 虛擬內存與性能影響
- 7.4 本章小結
- 第8章 操作系統交互
- 8.1 多任務
- 8.1.1 串行與并行
- 8.1.2 多任務的實現
- 8.1.3 并發程序設計
- 8.2 進程
- 8.2.1 進程的概念
- 8.2.2 進程的狀態
- 8.2.3 進程控制塊
- 8.3 Win32進程編程
- 8.3.1 創建進程
- 8.3.2 環境變量
- 8.4 線程
- 8.4.1 線程的概念
- 8.4.2 多線程
- 8.4.3 超線程
- 8.4.4 線程池
- 8.5 調度
- 8.5.1 處理器的調度
- 8.5.2 調度算法準則
- 8.5.3 常見的調度算法
- 8.6 Win32線程編程
- 8.6.1 創建和退出線程
- 8.6.2 掛起和恢復線程
- 8.6.3 遠程線程的注入
- 8.7 本章小結
- 第9章 瓶頸與優化
- 9.1 優化還是不優化
- 9.2 測量與分析的內容
- 9.3 測量與分析的方法
- 9.3.1 使用計時器
- 9.3.2 使用Profile
- 9.3.3 使用性能監視器
- 9.4 基本規律
- 9.4.1 二八法則
- 9.4.2 安達爾定律
- 9.5 程序優化路線
- 9.5.1 優化實踐的經典案例
- 9.5.2 優化案例的啟示
- 9.6 編譯器不是萬能的
- 9.7 實際優化建議
- 9.7.1 循環條件中的低效
- 9.7.2 注意字符串的操作
- 9.7.3 權衡函數調用需求
- 9.7.4 轉換指針形式代碼
- 9.7.5 檢查存儲器的訪問
- 9.7.6 使用循環展開技術
- 9.7.7 查表替換復雜運算
- 9.7.8 耗時計算移出循環
- 9.8 本章小結
- 附錄A 淺談編程能力的培養與提高
- 附錄B 程序人生
- 參考文獻 更新時間:2018-12-27 13:21:16
推薦閱讀
- 深入理解Android(卷I)
- Mastering NetBeans
- Progressive Web Apps with React
- Practical Data Science Cookbook(Second Edition)
- jQuery從入門到精通 (軟件開發視頻大講堂)
- Magento 1.8 Development Cookbook
- Python數據挖掘與機器學習實戰
- C# 8.0核心技術指南(原書第8版)
- Python項目實戰從入門到精通
- 網絡數據采集技術:Java網絡爬蟲實戰
- Mudbox 2013 Cookbook
- Access數據庫應用教程(2010版)
- JBoss AS 7 Development
- Java Web 從入門到項目實踐(超值版)
- SAP HANA Starter
- Ionic Framework By Example
- C#網絡程序開發(第二版)
- ROS Robotics Projects
- Python快速編程入門
- Learning Unity iOS Game Development
- Visual C++程序開發參考手冊
- Ansible Playbook Essentials
- Dapr與.NET微服務實戰
- Test-Driven Java Development
- Python程序設計
- Python大數據架構全棧開發與應用
- Java編程入門:任務式學習指南
- Netty進階之路:跟著案例學Netty
- Axure RP8產品原型設計快速上手指南
- Switching to Angular(Third Edition)