舉報(bào)

會(huì)員
代碼揭秘
最新章節(jié):
參考文獻(xiàn)
本書從程序設(shè)計(jì)角度出發(fā),以C/C++為描述語言,以VisualC++為形式工具,將隱藏在代碼背后的關(guān)于計(jì)算機(jī)組成原理、計(jì)算機(jī)操作系統(tǒng)等方面的原理和知識(shí)娓娓道來,不僅讓讀者知其然,更要讓讀者知其所以然。通過代碼揭秘與代碼編寫這條主線索,詳細(xì)地描述了計(jì)算機(jī)組織和代碼生成原理等內(nèi)容。并讓這些知識(shí)再反作用于編程實(shí)踐,從而幫助讀者寫出更適合機(jī)器優(yōu)化的高質(zhì)量代碼。揭開代碼背后鮮為人知的秘密,從而讓你能夠?qū)懗鲞m合與計(jì)算機(jī)交流的優(yōu)秀代碼。
目錄(163章)
倒序
- 封面
- 版權(quán)信息
- 這可不是個(gè)序
- 談?wù)劇叭绾芜x書” ——代序
- 前言
- 第1章 緒論
- 1.1 計(jì)算機(jī)系統(tǒng)初探
- 1.1.1 換個(gè)角度看計(jì)算機(jī)
- 1.1.2 CPU很好很強(qiáng)大
- 1.2 計(jì)算機(jī)語言與編譯技術(shù)
- 1.2.1 如何讓機(jī)器理解你
- 1.2.2 編譯技術(shù)與開發(fā)環(huán)境
- 1.2.3 程序開發(fā)流程
- 1.3 C語言神話
- 1.3.1 C語言的歷史
- 1.3.2 簡(jiǎn)單說說C語言的特點(diǎn)
- 1.4 奇跡的延續(xù)
- 1.4.1 C++的產(chǎn)生與發(fā)展
- 1.4.2 C++與面向?qū)ο笏枷?/span>
- 1.5 本章小結(jié)
- 第2章 揭開數(shù)據(jù)表示的面紗
- 2.1 進(jìn)制系統(tǒng)
- 2.1.1 最簡(jiǎn)單的計(jì)數(shù)方式
- 2.1.2 計(jì)算機(jī)里只有黑白
- 2.1.3 壓縮表示的二進(jìn)制
- 2.2 位與位操作
- 2.2.1 計(jì)算機(jī)存儲(chǔ)的單位
- 2.2.2 位操作和位段
- 2.3 計(jì)算機(jī)中的數(shù)值
- 2.3.1 一種最簡(jiǎn)單的數(shù)
- 2.3.2 現(xiàn)實(shí)世界需要負(fù)數(shù)
- 2.3.3 只有整數(shù)還不夠
- 2.4 讓計(jì)算機(jī)學(xué)會(huì)寫字
- 2.4.1 ASCII碼
- 2.4.2 漢字編碼
- 2.4.3 更強(qiáng)大的編碼
- 2.5 C語言基本數(shù)據(jù)類型
- 2.5.1 整型
- 2.5.2 字符型
- 2.5.3 注意浮點(diǎn)數(shù)陷阱
- 2.6 本章小結(jié)
- 第3章 變量與地址
- 3.1 程序都在內(nèi)存中
- 3.2 很多初學(xué)者都怕指針
- 3.3 睜大眼睛看內(nèi)存
- 3.4 數(shù)組與指針是近親
- 3.5 再談指針
- 3.6 本章小結(jié)
- 第4章 動(dòng)態(tài)內(nèi)存管理
- 4.1 malloc和free
- 4.2 sizeof并不復(fù)雜
- 4.3 內(nèi)存操作函數(shù)
- 4.3.1 memset
- 4.3.2 memcpy和memmove
- 4.4 new和delete
- 4.5 內(nèi)存錯(cuò)誤面面觀
- 4.5.1 最怕內(nèi)存泄漏
- 4.5.2 小心重復(fù)釋放
- 4.5.3 指針是個(gè)壞東西
- 4.5.4 超量寫內(nèi)存
- 4.6 使用Visual C++檢查內(nèi)存泄漏
- 4.7 本章小結(jié)
- 第5章 代碼與指令系統(tǒng)
- 5.1 還原代碼的本來面目
- 5.1.1 內(nèi)存中的代碼
- 5.1.2 指向函數(shù)的指針
- 5.1.3 CPU的存儲(chǔ)器
- 5.1.4 寄存器變量
- 5.1.5 寄存器組舉例
- 5.2 指令——簡(jiǎn)單or復(fù)雜
- 5.2.1 指令格式
- 5.2.2 操作類型
- 5.2.3 操作數(shù)類型
- 5.3 如何找到地址
- 5.3.1 下一步該做什么
- 5.3.2 計(jì)算機(jī)知道自己需要什么
- 5.4 本章小結(jié)
- 第6章 函數(shù)與函數(shù)調(diào)用
- 6.1 函數(shù)與參數(shù)
- 6.1.1 C/C++中的函數(shù)
- 6.1.2 參數(shù)傳遞
- 6.1.3 作用域
- 6.2 函數(shù)的遞歸調(diào)用
- 6.2.1 到處都是遞歸
- 6.2.2 小心使用遞歸
- 6.2.3 遞歸與非遞歸
- 6.2.4 內(nèi)、外部變量分配原理
- 6.3 內(nèi)存的使用
- 6.3.1 活動(dòng)記錄與棧
- 6.3.2 靜態(tài)分配
- 6.3.3 有靜就有動(dòng)
- 6.4 程序在內(nèi)存中的模樣
- 6.5 本章小結(jié)
- 第7章 多級(jí)存儲(chǔ)系統(tǒng)
- 7.1 存儲(chǔ)系統(tǒng)及層級(jí)結(jié)構(gòu)
- 7.1.1 存儲(chǔ)器分類
- 7.1.2 存儲(chǔ)器的層級(jí)結(jié)構(gòu)
- 7.1.3 訪問的局部性原理
- 7.1.4 再談存儲(chǔ)器的層級(jí)
- 7.2 高速緩存
- 7.2.1 緩存設(shè)計(jì)策略
- 7.2.2 多級(jí)緩存原理
- 7.2.3 實(shí)際編碼指導(dǎo)
- 7.3 虛擬內(nèi)存
- 7.3.1 何為虛擬內(nèi)存
- 7.3.2 虛擬地址
- 7.3.3 頁面請(qǐng)求與磁盤緩沖
- 7.3.4 工作集合與系統(tǒng)顛簸
- 7.3.5 虛擬內(nèi)存與性能影響
- 7.4 本章小結(jié)
- 第8章 操作系統(tǒng)交互
- 8.1 多任務(wù)
- 8.1.1 串行與并行
- 8.1.2 多任務(wù)的實(shí)現(xiàn)
- 8.1.3 并發(fā)程序設(shè)計(jì)
- 8.2 進(jìn)程
- 8.2.1 進(jìn)程的概念
- 8.2.2 進(jìn)程的狀態(tài)
- 8.2.3 進(jìn)程控制塊
- 8.3 Win32進(jìn)程編程
- 8.3.1 創(chuàng)建進(jìn)程
- 8.3.2 環(huán)境變量
- 8.4 線程
- 8.4.1 線程的概念
- 8.4.2 多線程
- 8.4.3 超線程
- 8.4.4 線程池
- 8.5 調(diào)度
- 8.5.1 處理器的調(diào)度
- 8.5.2 調(diào)度算法準(zhǔn)則
- 8.5.3 常見的調(diào)度算法
- 8.6 Win32線程編程
- 8.6.1 創(chuàng)建和退出線程
- 8.6.2 掛起和恢復(fù)線程
- 8.6.3 遠(yuǎn)程線程的注入
- 8.7 本章小結(jié)
- 第9章 瓶頸與優(yōu)化
- 9.1 優(yōu)化還是不優(yōu)化
- 9.2 測(cè)量與分析的內(nèi)容
- 9.3 測(cè)量與分析的方法
- 9.3.1 使用計(jì)時(shí)器
- 9.3.2 使用Profile
- 9.3.3 使用性能監(jiān)視器
- 9.4 基本規(guī)律
- 9.4.1 二八法則
- 9.4.2 安達(dá)爾定律
- 9.5 程序優(yōu)化路線
- 9.5.1 優(yōu)化實(shí)踐的經(jīng)典案例
- 9.5.2 優(yōu)化案例的啟示
- 9.6 編譯器不是萬能的
- 9.7 實(shí)際優(yōu)化建議
- 9.7.1 循環(huán)條件中的低效
- 9.7.2 注意字符串的操作
- 9.7.3 權(quán)衡函數(shù)調(diào)用需求
- 9.7.4 轉(zhuǎn)換指針形式代碼
- 9.7.5 檢查存儲(chǔ)器的訪問
- 9.7.6 使用循環(huán)展開技術(shù)
- 9.7.7 查表替換復(fù)雜運(yùn)算
- 9.7.8 耗時(shí)計(jì)算移出循環(huán)
- 9.8 本章小結(jié)
- 附錄A 淺談編程能力的培養(yǎng)與提高
- 附錄B 程序人生
- 參考文獻(xiàn) 更新時(shí)間:2018-12-27 13:21:16
推薦閱讀
- HTML5+CSS3+JavaScript從入門到精通:上冊(cè)(微課精編版·第2版)
- C語言程序設(shè)計(jì)實(shí)踐教程(第2版)
- 編程的修煉
- 深度學(xué)習(xí)經(jīng)典案例解析:基于MATLAB
- Reactive Programming with Swift
- 樂學(xué)Web編程:網(wǎng)站制作不神秘
- Mastering Entity Framework
- Python從入門到精通(精粹版)
- Web程序設(shè)計(jì)(第二版)
- INSTANT Django 1.5 Application Development Starter
- Python機(jī)器學(xué)習(xí)算法與實(shí)戰(zhàn)
- SQL Server數(shù)據(jù)庫管理與開發(fā)兵書
- Vue.js 2 Web Development Projects
- Python從入門到精通
- Oracle數(shù)據(jù)庫編程經(jīng)典300例
- Visual Basic程序設(shè)計(jì)全程指南
- Visual C++從入門到精通(第2版)
- SEO的藝術(shù)(原書第2版)
- Ajax與jQuery程序設(shè)計(jì)
- C語言程序設(shè)計(jì)新編教程
- Java實(shí)用教程
- DevOps和自動(dòng)化運(yùn)維實(shí)踐
- Getting Started with Ionic
- UML軟件建模任務(wù)驅(qū)動(dòng)教程(第2版)
- Java EE企業(yè)級(jí)應(yīng)用開發(fā)技術(shù)研究
- Unsupervised Learning with R
- Building Web Applications with Python and Neo4j
- RESTful Web Services with Scala
- Oracle Primavera P6 Version 8:Project and Portfolio Management
- Java 9 并發(fā)編程實(shí)戰(zhàn)