[www.ed2k.online]下載基地為您提供軟件、遊戲、圖書、教育等各種資源的ED2K電驢共享下載和MAGNET磁力鏈接下載。
設為首頁
加入收藏
首頁 圖書資源 軟件資源 游戲資源 教育資源 其他資源
 電驢下載基地 >> 图书资源 >> 計算機與網絡 >> 《Delphi源代碼分析》掃描版[PDF]
《Delphi源代碼分析》掃描版[PDF]
下載分級 图书资源
資源類別 計算機與網絡
發布時間 2017/7/10
大       小 -
《Delphi源代碼分析》掃描版[PDF] 簡介: 中文名 : Delphi源代碼分析 作者 : 周愛民 圖書分類 : 網絡 資源格式 : PDF 版本 : 掃描版 出版社 : 電子工業出版社 書號 : 7121003031 發行時間 : 2004年10月13日 地區 : 大陸 語言 : 簡體中文 簡介 : 評論處1樓有網盤鏈接 內容介紹: 本書通過
電驢資源下載/磁力鏈接資源下載:
全選
"《Delphi源代碼分析》掃描版[PDF]"介紹
中文名: Delphi源代碼分析
作者: 周愛民
圖書分類: 網絡
資源格式: PDF
版本: 掃描版
出版社: 電子工業出版社
書號: 7121003031
發行時間: 2004年10月13日
地區: 大陸
語言: 簡體中文
簡介:



評論處1樓有網盤鏈接
內容介紹:
本書通過對Delphi內核(RTL)源代碼進行分析,深入闡述了Delphi內核(RTL)的原理及其實現。全書從Nico Bendlin編寫的著名最小化內核示例程序MiniDExe講起,基於MiniDExe分析Delphi在編譯器一級的技術內幕,帶領讀者一窺Delphi的核心。隨後作者基於這個內核逐層地包裝代碼,將Delphi的各種功能的具體實現一一展現,通過列出關鍵性代碼並進行系統性分析的方式,全面分析對象結構、VCL和COM等在源代碼中的實現。全書內容詳實,闡述精辟、深入,主要議題包括:Delphi的編譯器在Windows、Delphi RTL和用戶代碼之間的交互;Delphi RTL內核代碼的完整實現;與Delphi內核相關的操作系統機制;初始(入口)代碼、模塊、內存、線程、資源、異常處理機制等。
本書是一本不可多得的高端技術圖書,適合中、高級Delphi開發人員研讀。
內容截圖:



目錄:


序 i
前言 I
第一部分 Delphi內核深入剖析(I) 1
第1章 最小化Delphi內核 3
1.1 MiniDExe如何實現內核最小化 3
1.1.1 MiniDExe中的System.pas單元 4
1.1.2 MiniDExe中的SysInit.pas單元 5
1.1.3 MiniDExe中的項目文件MiniDExe.dpr 6
1.2 一些其他的內核優化 6
1.3 為什麼要研究最小化內核 7
第2章 基本數據類型的實現 9
2.1 基本數據類型 9
2.2 變量與常量 11
2.2.1 全局變量與局部變量 11
2.2.2 動態分配的內存 12
2.2.3 換一個方式來理解 13
2.2.4 常量 14
2.3 數據結構的實現 16
2.3.1 簡單類型 16
2.3.2 字符串 16
2.3.3 構造類型 26
2.3.4 指針類型 28
2.3.5 過程類型 28
2.4 數據結構相關的例程 29
2.4.1 標准Pascal的內置例程 30
2.4.2 字符串操作例程 31
2.5 變量的類型檢測與強制轉換 47
2.6 引用-計數-寫復制與類型信息 48
2.6.1 引用計數與增加引用 48
2.6.2 “增加引用”何時發生 49
2.6.3 增加引用的操作是依賴類型信息來實現的 51
2.6.4 寫復制與值參數的備份 53
第3章 BASM(Borland匯編語言)精要 55
3.1 BASM概念簡要 55
3.2 表達式的類別與類型 56
3.3 數據定義和數據類型強制轉換 57
3.4 例程入口參數及調用約定 61
3.5 例程和API的調用與流程控制 62
3.6 完全匯編例程與內嵌匯編例程 65
3.7 匯編例程中的返回值約定 66
3.8 其他 67
第4章 初始化與結束化過程 71
4.1 變量的初始化與結束化 71
4.1.1 初始化的必要性 72
4.1.2 如何初始化 73
4.1.3 如何結束化 74
4.2 例程的初始化與結束化 76
4.3 單元初始化與結束化 77
4.4 模塊初始化與結束化 79
4.4.1 模塊入口代碼 79
4.4.2 編譯器決定的程序執行流程 80
第5章 面向Windows開發的基本實現 83
5.1 Win32應用程序:EXE 83
5.1.1 適應Win32應用程序的最簡化內核 83
5.1.2 初始化例程_InitExe() 85
5.1.3 內部模塊表管理例程 86
5.1.4 .EXE啟動例程_StartExe() 87
5.1.5 應用程序的結束化控制 88
5.2 32位的DOS:控制台應用程序 91
5.2.1 控制台應用程序的模塊入口代碼 91
5.2.2 控制台應用程序的最小化實現 92
5.2.3 控制台應用程序的Delphi實現 93
5.2.4 文件操作例程與控制台應用程序 94
5.2.5 控制台的開啟與關閉 97
5.2.6 CRT單元與Input、Output的重載 98
5.3 動態鏈接庫:DLL 99
5.3.1 丟失的DllMain() 99
5.3.2 _InitLib()例程 101
5.3.3 _StartLib()例程 101
5.3.4 .DLL的結束化過程 102
5.3.5 DllProc與DllMain()的不同 105
5.3.6 動態鏈接庫的內核最小化 106
5.4 Delphi的動態鏈接庫:包 108
5.4.1 包的主要規則 108
5.4.2 Delphi中的包與普通DLL的區別 110
5.4.3 包的DllMain() 111
5.4.4 包的載入例程LoadPackage() 112
5.4.5 真正的初始化例程InitializePackage() 112
5.4.6 包的卸載例程UnloadPackage() 115
5.4.7 包的基本輸出例程 115
5.4.8 內部例程_PackageLoad()與_PackageUnload() 116
5.4.9 包的內核最小化 117
5.5 其他 118
5.5.1 初始化上下文中OuterContext域的使用 118
5.5.2 入口代碼中的堆棧使用深入分析(內存現場) 119
5.5.3 再論入口代碼 123
第6章 Delphi的積木藝術(PE) 127
6.1 PE文件結構概要 127
6.1.1 文件頭 129
6.1.2 節表 131
6.1.3 節 132
6.1.4 PE文件與內存映射 134
6.1.5 有關相對虛地址的計算 138
6.2 Delphi的PE文件頭中一些重要的域 142
6.3 Delphi的PE文件中一些重要的節 144
6.3.1 線程局部存儲(.tls和.rdata) 144
6.3.2 資源節(.rsrc) 145
6.3.3 導入、導出表(.idata和.edata) 146
6.3.4 數據節與代碼節(DATA、BSS和CODE) 154
6.3.5 重定位節(.reloc) 157
6.4 3.5K的秘密 159
6.4.1 Delphi的PE文件頭部 159
6.4.2 Delphi的PE文件的節及其默認對齊 160
6.4.3 還可能更小嗎 160
6.4.4 3.5K代碼的內存映射 161
6.5 入口點 162
第二部分 Delphi內核深入剖析(II) 167
第7章 Delphi的內存管理器 169
7.1 Delphi的內存管理器實現框架 169
7.2 內存頁管理 171
7.3 堆 172
7.4 MemoryManager及相關例程 172
7.5 GetMem.inc中的重要例程 174
7.5.1 堆塊及其管理例程 175
7.5.2 虛地址空間(Address space)管理 178
7.5.3 已提交的內存空間(Committed space)管理 179
7.5.4 用戶調用例程(actually calls)的實現 180
7.5.5 初始化、結束化與其他輔助例程 194
7.6 遍歷全部內存塊 195
7.7 共享內存管理器 197
7.8 第三方內存管理器 200
7.9 小結 201
第8章 錯誤和異常 203
8.1 錯誤 203
8.2 斷言 206
8.3 Windows與Delphi中的異常處理機制概要 209
8.4 編譯器對異常處理機制的實現 212
8.4.1 最小化內核的啟示 212
8.4.2 從操作系統的角度來理解編譯器行為 216
8.4.3 try..finally/except..end語法關鍵字與內部例程 219
8.5 基本(except型)異常處理 221
8.5.1 異常觸發(Raise) 221
8.5.2 多層(嵌套)的異常處理 222
8.5.3 異常展開(Unwind) 223
8.5.4 異常響應(Notify) 227
8.5.5 頂層異常處理 229
8.6 使用面向對象技術的異常類 233
8.6.1 異常列表、RaiseFrame與ExceptionRecord 233
8.6.2 未知異常映射:ExceptObjProc 235
8.6.3 不使用SysUtils.pas單元的應用程序 236
8.6.4 _RaiseExcept()、_RaiseAgain()與_DoneExcept()例程 238
8.6.5 異常對象 241
8.6.6 異常類型檢測的依賴性問題 247
第9章 多線程的實現及調度 251
9.1 操作系統的進程與線程 252
9.1.1 線程的啟動過程 253
9.1.2 主線程與用戶線程啟動過程的比較 255
9.1.3 線程有哪些獨立元素 256
9.2 操作系統的線程調度概要 257
9.3 基本的多線程應用 258
9.4 線程變量(線程局部存儲) 261
9.4.1 線程局部存儲(TLS)的實質 262
9.4.2 編譯器的准備工作 263
9.4.3 靜態TLS:EXE模塊中的TLS 265
9.4.4 動態TLS:DLL模塊中的TLS 266
9.5 再論FS段 268
9.6 線程類(TThread) 272
9.6.1 線程執行體(Execute) 275
9.6.2 線程與主線程的同步(Synchronize) 277
9.6.3 控制台應用的多線程同步(第三方的WakeMainThread例程) 287
9.6.4 線程中止和結束(Terminate) 292
9.7 線程同步對象 297
9.7.1 線程同步方法 298
9.7.2 Delphi中的線程同步類 306
9.7.3 線程對象的WaitFor()方法 311
9.8 多線程環境下的內存管理器 312
第10章 資源的管理和使用 315
10.1 資源字符串 315
10.1.1 隱含的調用:LoadResString()例程 315
10.1.2 _InitResStrings()例程 317
10.1.3 _InitResStringImports()例程 319
10.1.4 _InitImports()例程 320
10.2 Delphi編譯的PE文件的默認資源 322
10.2.1 PACKAGEINFO資源 323
10.2.2 PACKAGEOPTIONS資源 324
10.2.3 DVCLAL資源 326
10.2.4 DESCRIPTION資源 327
10.3 其他 327
第11章 突破Delphi在應用開發上的限制 329
11.1 開發DOS保護模式程序 329
11.2 開發Windows9x上的驅動程序 335
11.2.1 Delphi編譯的.OBJ文件 335
11.2.2 第三方的鏈接器處理Delphi的.OBJ文件的問題 336
11.2.3 在Delphi中編寫VxD驅動程序代碼 337
11.2.4 鏈接目標文件並輸出VxD驅動程序 338
11.3 開發WinNT/2000上的驅動程序 339
11.4 其他 342
術語表 343
參考書目 347



相關資源:

免責聲明:本網站內容收集於互聯網,本站不承擔任何由於內容的合法性及健康性所引起的爭議和法律責任。如果侵犯了你的權益,請通知我們,我們會及時刪除相關內容,謝謝合作! 聯系信箱:[email protected]

Copyright © 電驢下載基地 All Rights Reserved