-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
防疫期間 門市僅限取書, 不開放參觀
並提早到6點打烊, 星期日公休
7/20 新書到! 7/14 新書到! 7/6 新書到!6/30 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

程序是怎樣跑起來的

( 簡體 字)
作者:[日]矢澤久雄類別:1. -> 程式設計 -> 綜合
譯者:
出版社:人民郵電出版社程序是怎樣跑起來的 3dWoo書號: 54526
詢問書籍請說出此書號!

有庫存
NT定價: 300
折扣價: 281

出版日:5/1/2021
頁數:259
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115385130
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

《程序是怎樣跑起來的》一書從計算機的內部結構開始講起,以圖配文的形式詳細講解了二進制、內存、數據壓縮、源文件和可執行文件、操作系統和應用程序的關系、匯編語言、硬件控制方法等內容,目的是讓讀者了解從用戶雙擊程序圖標到程序開始運行之間到底發生了什么。同時專設了“如果是你,你會怎樣介紹?”專欄,以小學生、老奶奶為對象講解程序的運行原理,頗為有趣。本書圖文并茂,通俗易懂,非常適合計算機愛好者及相關從業人員閱讀。
目錄:

第 1章 對程序員來說CPU是什么  1
1.1 CPU的內部結構解析  3
1.2 CPU是寄存器的集合體  6
1.3 決定程序流程的程序計數器  9
1.4 條件分支和循環機制  10
1.5 函數的調用機制  13
1.6 通過地址和索引實現數組  16
1.7 CPU的處理其實很簡單  17
第 2章 數據是用二進制數表示的  19
2.1 用二進制數表示計算機信息的原因  21
2.2 什么是二進制數  23
2.3 移位運算和乘除運算的關系  25
2.4 便于計算機處理的“補數”  27
2.5 邏輯右移和算術右移的區別  31
2.6 掌握邏輯運算的竅門  34
COLUMN 如果是你,你會怎樣介紹?——向小學生講解CPU和二進制  38
第3章 計算機進行小數運算時出錯的原因  41
3.1 將0.1累加100次也得不到10  43
3.2 用二進制數表示小數  44
3.3 計算機運算出錯的原因  46
3.4 什么是浮點數  47
3.5 正則表達式和  EXCESS系統  50
3.6 在實際的程序中進行確認  52
3.7 如何避免計算機計算出錯  55
3.8 二進制數和十六進制數  56
第4章 熟練使用有棱有角的內存  59
4.1 內存的物理機制很簡單  61
4.2 內存的邏輯模型是樓房  65
4.3 簡單的指針  67
4.4 數組是高效使用內存的基礎  69
4.5 棧、隊列以及環形緩沖區  71
4.6 鏈表使元素的追加和刪除更容易  75
4.7 二叉查找樹使數據搜索更有效  79
第5章 內存和磁盤的親密關系  81
5.1 不讀入內存就無法運行  83
5.2 磁盤緩存加快了磁盤訪問速度  84
5.3 虛擬內存把磁盤作為部分內存來使用  85
5.4 節約內存的編程方法  88
5.5 磁盤的物理結構  93
第6章 親自嘗試壓縮數據  97
6.1 文件以字節為單位保存  99
6.2 RLE  算法的機制  100
6.3 RLE  算法的缺點  101
6.4 通過莫爾斯編碼來看哈夫曼算法的基礎  103
6.5 用二叉樹實現哈夫曼編碼  105
6.6 哈夫曼算法能夠大幅提升壓縮比率  109
6.7 可逆壓縮和非可逆壓縮  110
COLUMN 如果是你,你會怎樣介紹?——向沉迷游戲的中學生講解內存和磁盤  114
第7章 程序是在何種環境中運行的  117
7.1 運行環境  =  操作系統  +  硬件  119
7.2 Windows克服了CPU以外的硬件差異  122
7.3 不同操作系統的  API不同  124
7.4 FreeBSD  Port  幫你輕松使用源代碼  125
7.5 利用虛擬機獲得其他操作系統環境  127
7.6 提供相同運行環境的  Java虛擬機  128
7.7 BIOS  和引導  130
第8章 從源文件到可執行文件  133
8.1 計算機只能運行本地代碼  135
8.2 本地代碼的內容  137
8.3 編譯器負責轉換源代碼  139
8.4 僅靠編譯是無法得到可執行文件的  141
8.5 啟動及庫文件  143
8.6 DLL  文件及導入庫  145
8.7 可執行文件運行時的必要條件  146
8.8 程序加載時會生成棧和堆  148
8.9 有點難度的Q&A  150
第9章 操作系統和應用的關系  153
9.1 操作系統功能的歷史  155
9.2 要意識到操作系統的存在  157
9.3 系統調用和高 級編程語言的移植性  160
9.4 操作系統和高 級編程語言使硬件抽象化  161
9.5 Windows操作系統的特征  163
COLUMN 如果是你,你會怎樣介紹?——向超喜歡手機的女高中生講解操作系統的作用  170
第 10章 通過匯編語言了解程序的實際構成  173
10.1 匯編語言和本地代碼是一一對應的  175
10.2 通過編譯器輸出匯編語言的源代碼  177
10.3 不會轉換成本地代碼的偽指令  180
10.4 匯編語言語法是“操作碼+操作數”  182
10.5 **常用的mov指令  185
10.6 對棧進行push和pop 185
10.7 函數調用機制  187
10.8 函數內部的處理  189
10.9 始終確保全局變量用的內存空間  191
10.10 臨時確保局部變量用的內存空間  196
10.11 循環處理的實現方法  199
10.12 條件分支的實現方法  202
10.13 了解程序運行方式的必要性  204
第 11章 硬件控制方法  209
11.1 應用和硬件無關?  211
11.2 支撐硬件輸入輸出的  IN指令和OUT指令  212
11.3 編寫測試用的輸入輸出程序  215
11.4 外圍設備的中斷請求  218
11.5 用中斷來實現實時處理  221
11.6 DMA  可以實現短時間內傳送大量數據  222
11.7 文字及圖片的顯示機制  224
COLUMN 如果是你,你會怎樣介紹?——向鄰居老奶奶說明顯示器和電視機的不同  226
第 12章 讓計算機“思考”  229
12.1 作為“工具”的程序和為了“思考”的程序  231
12.2 用程序來表示人類的思考方式  232
12.3 用程序來表示人類的思考習慣  235
12.4 程序生成隨機數的方法  237
12.5 活用記憶功能以達到更接近人類的判斷  239
12.6 用程序來表示人類的思考方式  242
COLUMN 如果是你,你會怎樣介紹?——向常光臨的酒館老板講解計算機的思考機制  245
附錄 讓我們開始C語言之旅  247
C語言的特點  247
變量和函數  248
數據類型  249
標準函數庫  250
函數調用  251
局部變量和全局變量  254
數組和循環  255
其他語法結構  256
序: