Windows核心編程(第5版)

Windows核心編程(第5版) pdf epub mobi txt 電子書 下載2025

出版者:清華大學齣版社
作者:Jeffrey Richter
出品人:
頁數:770
译者:葛子昂
出版時間:2008-9
價格:99.00元
裝幀:16開
isbn號碼:9787302184003
叢書系列:
圖書標籤:
  • Windows編程
  • Windows
  • 編程
  • 操作係統
  • 計算機
  • C++
  • 程序設計
  • Programming
  • Windows
  • 核心
  • 編程
  • 第5版
  • 操作係統
  • 開發
  • API
  • 微軟
  • 程序設計
  • 底層
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

這是一本經典的Windows核心編程指南,從第1版到第5版,引領著數十萬程序員走入Windows開發陣營,培養瞭大批精英。.

作為Windows開發人員的必備參考,本書是為打算理解Windows的C和C++程序員精心設計的。第5版全麵覆蓋Windows XP,Windows Vista和Windows Server 2008中的170個新增函數和Windows特性。書中還講解瞭Windows係統如何使用這些特性,我們開發的應用程序又如何充分使用這些特性,如何自行創建新的特性。...

著者簡介

Jeffrey Richter是一位在全球享有盛譽的技術作傢,尤其在Windows/.NET領域有著傑齣的貢獻。他的第一本Windows著作Windows 3: A Developer's Guide大獲好評,從而聲名遠揚。之後,他又推齣瞭經典著作《Windows 高級編程指南》和《Windows核心編程》。如今這兩本書早已成為Windows程序設計領域的顛峰之作,培育瞭幾代軟件開發設計人員。他的每一本新作問世,我們都有理由相信這是一本巨著,我們想要的一切盡在其中。Jeffery 是Wintellect公司的創始人之一,也是MSDN雜誌.NET專欄的特邀編輯。現在他正領導開發該公司的.NET程序設計課程,嚮大眾推廣.NET技術。因為他自1999年開始就參與瞭微軟.NET框架開發組的谘詢工作,與這些一綫人員一起經曆瞭.NET的孕育與誕生,所以他對.NET思想的領悟、對.NET的細節熟稔,是其他任何作傢難以企及的。他是.NET著作領域中當之無愧的一麵旗幟。

Christophe Nasarre是Business Objects的軟件架構師和開發部門領導,該公司緻力於幫助其他企業更好地專注於其主營業務,通過商業智能方案來提升決策能力和業績。他為Addison-Wesley,APress和Microsoft Press齣版的許多圖書擔任過技術審校,此外還是MSDN Magazine的撰稿人。

圖書目錄

第1部分 必備知識
第1章 錯誤處理
1.1 定義自己的錯誤代碼
1.2 ErrorShow示例程序
第2章 字符和字符串處理
2.1 字符編碼
2.2 ANSI字符和Unicode字符與字符串數據類型
2.3 Windows中的Unicode函數和ANSI函數
2.4 C運行庫中的Unicode函數和ANSI函數
2.5 C運行庫中的安全字符串函數
2.5.1 初識新的安全字符串函數
2.5.2 在處理字符串時如何獲得更多控製
2.5.3 Windows字符串函數
2.6 為何要用Unicode
2.7 推薦的字符和字符串處理方式
2.8 Unicode與ANSI字符串轉換
2.8.1 導齣ANSI和Unicode DLL函數
2.8.2 判斷文本是ANSI還是Unicode
第3章 內核對象
3.1 何為內核對象
3.1.1 使用計數
3.1.2 內核對象的安全性
3.2 進程內核對象句柄錶
3.2.1 創建一個內核對象
3.2.2 關閉內核對象
3.3 跨進程邊界共享內核對象
3.3.1 使用對象句柄繼承
3.3.2 改變句柄的標誌
3.3.3 為對象命名
3.3.4 終端服務命名空間
3.3.5 專有命名空間
3.3.5 復製對象句柄
第Ⅱ部分 工作機製
第4章 進程
4.1 編寫第一個Windows應用程序
4.1.1 進程實例句柄
4.1.2 進程前一個實例的句柄
4.1.3 進程的命令行
4.1.4 進程的環境變量
4.1.5 進程的關聯性
4.1.6 進程的錯誤模式
4.1.7 進程當前所在的驅動器和目錄
4.1.8 進程的當前目錄
4.1.9 係統版本
4.2 CreateProcess函數
4.2.1 pszApplicationName和pszCommandLine參數
4.2.2 psaProcess,psaThread和bInheritHandles參數
4.2.3 fdwCreate參數
4.2.4 pvEnvironment參數
4.2.5 pszCurDir參數
4.2.6 psiStartInfo參數
4.2.7 ppiProcInfo參數
4.3 終止進程
4.3.1 主綫程的入口點函數返迴
4.3.2 ExitProcess函數
4.3.3 TerminateProcess函數
4.3.4 當進程中的所有綫程終止時
4.3.5 當進程終止運行時
4.4 子進程
4.5 管理員以標準用戶權限運行時
4.5.1 自動提升進程的權限
4.5.2 手動提升進程的權限
4.5.3 何為當前權限上下文
4.5.4 枚舉係統中正在運行的進程
4.5.5 Process Information示例程序
第5章 作業
5.1 對作業中的進程施加限製
5.2 將進程放入作業中
5.3 終止作業中的所有綫程查詢作業統計信息
5.4 作業通知
5.6 Job Lab示例程序
第6章 綫程基礎
6.1 何時創建綫程
6.2 何時不應該創建綫程
6.3 編寫第一個綫程函數
6.4 CreateThread函數
6.4.1 psa參數
6.4.2 cbStackSize參數
6.4.3 pfnStartAddr和pvParam參數
6.4.4 dwCreateFlags
6.4.5 pdwThreadID7
6.5 終止運行綫程
6.5.1 綫程函數返迴
6.5.2 ExitThread函數
6.5.3 TerminateThread函數
6.5.4 進程終止運行時
6.5.5 綫程終止運行時
6.6 綫程內幕
6.7 C/C++運行庫注意事項
6.7.1 用_beginthreadex而不要用CreateThread創建綫程
6.7.2 絕對不應該調用的C/C++運行庫函數
6.8 瞭解自己的身份
6.8.1 將僞句柄轉換為真正的句柄
第7章 綫程調度、優先級和關聯性
7.1 綫程的掛起和恢復
7.2 進程的掛起和恢復
7.3 睡眠
7.4 切換到另一個綫程
7.5 在超綫程CPU上切換到另一個綫程
7.6 綫程的執行時間
7.7 在實際上下文中談CONTEXT結構
7.8 綫程優先級
7.9 從抽象角度看優先級
7.10 優先級編程
7.10.1 動態提升綫程優先級
7.10.2 為前颱進程微調調度程序
7.10.3 調度I/O請求優先級
7.10.4 Scheduling Lab 示例程序
7.11 關聯性
第8章 用戶模式下的綫程同步
8.1 原子訪問:Interlocked係列函數
8.2 高速緩存行
8.3 高級綫程同步需要避免使用的一種方法
8.4 關鍵段
8.4.1 關鍵段:細節
8.4.2 關鍵段和鏇轉鎖
8.4.3 關鍵段和錯誤處理
8.5 Slim讀/寫鎖
8.6 條件變量
8.6.1 Queue示例程序
8.6.2 在停止綫程時的死鎖問題
8.6.3 一些有用的竅門和技巧
第9章 用內核對象進行綫程同步
9.1 等待函數
9.2 等待成功所引起的副作用
9.3 事件內核對象
9.4 可等待的計時器內核對象
9.4.1 讓可等待的計時器添加APC調用
9.4.2 計時器的剩餘問題
9.5 信號量內核對象
9.6 互斥量內核對象
9.6.1 遺棄問題
9.6.2 互斥量與關鍵段的比較
9.6.3 Queue示例程序
9.7 綫程同步對象速查錶
9.8 其他的綫程同步函數
9.8.1 異步設備I/O
9.8.2 WaitForInputIdle函數
9.8.3 MsgWaitForMultipleObjects(Ex)函數
9.8.4 WaitForDebugEvent函數
9.8.5 SignalObjectAndWait函數
9.8.6 使用等待鏈遍曆API來檢測死鎖
第10章 同步設備I/O與異步設備I/O
10.1 打開和關閉設備細看CreateFile函數
10.2 使用文件設備
10.2.1 取得文件的大小
10.2.2 設置文件指針的位置
10.2.3 設置文件尾
10.3 執行同步設備I/O
10.3.1 將數據刷新至設備
10.3.2 同步I/O的取消
10.4 異步設備I/O基礎
10.4.1 OVERLAPPED結構
10.4.2 異步設備I/O的注意事項
10.4.3 取消隊列中的設備I/O請求
10.5 接收I/O請求完成通知
10.5.1 觸發設備內核對象
10.5.2 觸發事件內核對象
10.5.3 可提醒I/O
10.5.4 I/O完成端口
10.5.5 模擬已完成的I/O請求
第11章 Windows綫程池
11.1 情形1:以異步方式調用函數
11.1.1 顯式地控製工作項
11.1.2 Batch示例程序
11.2 情形2:每隔一段時間調用一個函數
11.3 情形3:在內核對象觸發時調用一個函數
11.4 情形4:在異步I/O請求完成時調用一個函數
11.5 迴調函數的終止操作
11.5.1 對綫程池進行定製
11.5.2 得體地銷毀綫程池:清理組
第12章 縴程
第Ⅲ部分 內存管理
第13章 Windows內存體係結構
13.1 進程的虛擬地址空間
13.2 虛擬地址空間的分區
13.2.1 空指針賦值分區
13.2.2 用戶模式分區
13.3 地址空間中的區域
13.4 給區域調撥物理存儲器
13.5 物理存儲器和頁交換文件
13.6 頁麵保護屬性
13.6.1 寫時復製
13.6.2 一些特殊的訪問保護屬性標誌
13.7 實例分析
13.8 數據對齊的重要性
第14章 探索虛擬內存
14.1 係統信息
14.2 虛擬內存狀態
14.3 NUMA機器中的內存管理
14.4 確定地址空間的狀態
14.4.1 VMQuery函數
14.4.2 示例程序:虛擬內存映射
第15章 在應用程序中使用虛擬內存
15.1 預訂地址空間區域
15.2 給區域調撥物理存儲器
15.3 同時預訂和調撥物理存儲器
15.4 何時調撥物理存儲器
15.5 撤銷調撥物理存儲器及釋放區
15.5.1 何時撤銷調撥物理存儲器
15.5.2 虛擬內存分配示例程序
15.6 改變保護屬性
15.7 重置物理存儲器的內容
15.8 地址窗口擴展
第16章 綫程棧
16.1 C/C++運行庫的棧檢查函數
16.2 Summation示例程序
第17章 內存映射文件
17.1 映射到內存的可執行文件和DLL
17.1.1 同一個可執行文件或DLL的多個實例不會共享靜態數據
17.1.2 在同一個可執行文件或DLL的多個實例間共享靜態數據
17.1.3 Application Instances示例程序
17.2 映射到內存的數據文件
17.2.1 方法1:一個文件,一塊緩存
17.2.2 方法2:兩個文件,一塊緩存
17.2.3 方法3:一個文件,兩塊緩存
17.2.4 方法4:一個文件,零個緩存
17.3 使用內存映射文件
17.3.1 第1步:創建或打開文件內核對象
17.3.2 第2步:創建文件映射內核對象
17.3.3 第3步:將文件的數據映射到進程的地址空間
17.3.4 第4步:從進程的地址空間撤銷對文件數據的映射
17.3.5 第5步和第6步:關閉文件映射對象和文件對象
17.6 File Reverse示例程序
17.7 用內存映射文件來處理大文件
17.8 內存映射文件和一緻性
17.9 給內存映射文件指定基地址
17.10 內存映射文件的實現細節
第18章 堆
18.1 進程的默認堆
18.2 為什麼要創建額外的堆
18.2.1 對組件進行保護
18.2.2 更有效的內存管理
18.2.3 使內存訪問局部化
18.2.4 避免綫程同步的開銷
18.2.5 快速釋放
18.3 如何創建額外的堆
18.3.1 從堆中分配內存塊
18.3.2 調整內存塊的大小
18.3.3 獲得內存塊的大小
18.3.4 釋放內存塊
18.3.5 銷毀堆
18.3.6 在C++中使用堆
18.4 其他堆函數
第Ⅳ部分 動態鏈接庫
第19章 DLL基礎
19.1 DLL和進程的地址空間
19.2 縱觀全局
19.2.1 構建DLL模塊
19.2.2 構建可執行模塊
19.2.3 運行可執行模塊
第20章 DLL高級技術
20.1 DLL模塊的顯式載入和符號鏈接
20.1.1 顯式地載入DLL模塊
20.1.2 顯式地卸載DLL模塊
20.1.3 顯式地鏈接到導齣符號
20.2 DLL的入口點函數
20.2.1 DLL_PROCESS_ATTACH通知
20.2.2 DLL_PROCESS_DETACH通知
20.2.3 DLL_THREAD_ATTACH通知
20.2.4 DLL_THREAD_DETACH通知
20.2.5 DllMain的序列化調用
20.2.6 DllMain和C/C++運行庫
20.3 延遲載入DLL
20.4 函數轉發器
20.5 已知的DLL
20.6 DLL重定嚮
20.7 模塊的基地址重定位
20.8 模塊的綁定
第21章 綫程局部存儲區
21.1 動態TLS
21.2 靜態TLS0
第22章 DLL注入和API攔截
22.1 DLL注入的一個例子
22.2 使用注冊錶來注入DLL
22.3 使用Windows掛鈎來注入DLL
22.4 使用遠程綫程來注入DLL
22.4.1 Inject Library示例程序
22.4.2 Image Walk DLL
22.5 使用木馬DLL來注入DLL
22.6 把DLL作為調試器來注入
22.7 使用CreateProcess來注入代碼
22.8 API攔截的一個例子9
22.8.1 通過覆蓋代碼來攔截API0
22.8.2 通過修改模塊的導入段來攔截API
22.8.3 Last MessageBox Info示例程序
第Ⅴ部分 結構化異常處理
第23章 終止處理程序
第24章 異常處理程序與軟件異常
24.1 通過實例理解異常過濾程序和異常處理程序
24.1.1 Funcmeister1函數
24.1.2 Funcmeister2函數
24.2 EXCEPTION_EXECUTE_HANDLER1
24.2.1 一些有用的例子
24.2.2 全局展開
24.2.3 停止全局展開
24.3 EXCEPTION_CONTINUE_EXECUTION
24.4 EXCEPTION_CONTINUE_SEARCH0
24.5 GetExceptionCode2
24.6 GetExceptionInformation6
24.7 軟件異常
第25章 未處理異常、嚮量化異常處理與C++異常
25.1 UnhandledExceptionFilter函數詳解
25.2 即時調試
25.3 電子錶格示例程序
25.4 嚮量化異常和繼續處理程序
25.5 C++異常與結構化異常的比較
25.6 異常與調試器
第26章 錯誤報告與應用程序恢復
26.1 Windows錯誤報告控製颱
26.2 可編程的Windows錯誤報告
26.3 對進程中所有的問題報告進行定製
26.4 問題報告的創建與定製
26.4.1 創建一個自定義的問題報告
26.4.2 設置報告參數:WerReportSetParameter
26.4.3 將小型轉儲文件放入報告:WerReportAddDump8
26.4.4 將任意文件放入報告:WerReportAddFile9
26.4.5 修改對話框文本:WerReportSetUIOption0
26.4.6 提交錯誤報告:WerReportSubmit0
26.4.7 關閉問題報告:WerReportCloseHandle
26.4.8 Customized WER示例程序
26.5 應用程序的自動重啓與恢復
26.5.1 應用程序的自動重啓
26.5.2 對應用程序恢復的支持
第Ⅵ部分
附錄A 構建環境
附錄B 消息處理宏、子控件宏和API宏
索引
· · · · · · (收起)

讀後感

評分

看到线程调度那章,我坚信了这是一本靠谱的书,它符合我对线程调度的认知。 看到虚拟内存和内存映射文件那章,我坚信了这是一本好书,它解答了我对虚拟内存的一些疑惑。 当我看到剖析dll那章,我被惊艳了,我坚信这是一本神书,很有深度,还很有趣。 这是一本神书,不管你信不...  

評分

如果有英文纸书,肯定不会读中文版。书肯定是好书,不过没有达到APUE的高度。对于想学习windows编程的人还是有些帮助的,对于想了解windows系统的人也不错。就写这么多了,天不早了,该洗洗睡了。  

評分

这本书并不适合初学者,初学者最好先把windows下各种东西先用一遍,碰到很多问题之后带着问题来阅读这本书才会发现这本书的优秀。 此书以精炼的文笔说明了windows下程序开发与操作系统打交道时的方方面面,如果你仅仅是算法工程师,那么你并不需要读这本书,而如果你是windows...  

評分

刚刚看Part1。 之前读过上一版的书,帮助很大。 这本书里加了不少新东西,内容也非常有深度。  

評分

这本书并不适合初学者,初学者最好先把windows下各种东西先用一遍,碰到很多问题之后带着问题来阅读这本书才会发现这本书的优秀。 此书以精炼的文笔说明了windows下程序开发与操作系统打交道时的方方面面,如果你仅仅是算法工程师,那么你并不需要读这本书,而如果你是windows...  

用戶評價

评分

東西講得很細,有一些底層的知識目前還看不懂,我也不打算現在就深究。 我終究還是對win下的dev缺乏興趣阿……個人感覺Windows下的接口設計沒有*nix簡潔好用阿

评分

可惜Jeffrey Richter不是linux程序員..

评分

沒什麼新內容,相當失望,還不如去看windows system programming,名聲果然是吹齣來的。。

评分

在前颱開發混瞭一年多,終於對windows編程有瞭點理解,迴頭再看這本書,已經覺得不那麼難懂瞭。書中的知識點都狠精彩,不過還是感概一下:windows編程好難。

评分

還是讀新版的好,因為有係統新特性的講解,也有以前版本知識不足的填充。這書真是經典。而且也實用,對於瞭解Windows係統也有幫助。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有