出版時(shí)間:2002-7-1 出版社:人民郵電出版社 作者:徐丙立,馬小亮,周金萍,姜小光 頁(yè)數(shù):690 字?jǐn)?shù):1080
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書講解了Windows系統(tǒng)編程方面的內(nèi)容。按照"由淺入深"、"相互貫穿"、"重點(diǎn)突出"、"文字?jǐn)⑹雠c典型代碼實(shí)例相結(jié)合"的原則,本書首先介紹了不同版本的Windows系統(tǒng)的內(nèi)核和編程環(huán)境,接著介紹了Windows程序設(shè)計(jì)的特點(diǎn)和程序員所應(yīng)掌握的基礎(chǔ)知識(shí),然后詳細(xì)講述了Windows的基本構(gòu)件(如進(jìn)程、線程、系統(tǒng)信息、內(nèi)存管理和動(dòng)態(tài)鏈接庫(kù)等)以及它們?cè)赪indows系統(tǒng)中和在實(shí)際的應(yīng)用程序中是如何使用的,此外書中的各章配以豐富而恰當(dāng)?shù)膶?shí)例,幫助讀者深入理解系統(tǒng)編程的內(nèi)容。
對(duì)于Windows編程人員來(lái)說(shuō),本書極具參考價(jià)值,是一本不可多得的參考書。
書籍目錄
第1章 Windows編程開(kāi)發(fā)環(huán)境
1.1 Windows操作系統(tǒng)及其內(nèi)核
1.1.1 已有的Windows平臺(tái)
1.1.2 新一代Windows平臺(tái)--Windows XP
1.1.3 未來(lái)的Windows平臺(tái)--64位Windows
1.2 集成性開(kāi)發(fā)環(huán)境Developer Studio
1.2.1 Microsoft Visual C++和Developer Studio
1.2.2 新一代集成性開(kāi)發(fā)環(huán)境Visual Studio.net
1.3 使用編程幫助
1.3.1 為什么需要幫助
1.3.2 如何使用幫助
1.4 自定義Developer Studio
1.4.1 自定義工具條和菜單欄
1.4.2 自定義快捷鍵
第2章 Win32程序設(shè)計(jì)
2.1 Windows程序設(shè)計(jì)的特點(diǎn)
2.1.1 消息驅(qū)動(dòng)機(jī)制
2.1.2 圖形輸出及設(shè)備無(wú)關(guān)性
2.1.3 標(biāo)準(zhǔn)的用戶界面對(duì)象
2.1.4 Windows資源的共享
2.2 Windows應(yīng)用程序組成
2.3 用SDK進(jìn)行Win32程序設(shè)計(jì)
2.3.1 Win32 API和SDK 27
2.3.2 Win32程序設(shè)計(jì)的特點(diǎn)
2.3.3 實(shí)例--禁止進(jìn)程的多個(gè)實(shí)例存在
2.4 初識(shí)進(jìn)程、線程和內(nèi)存分配
2.4.1 進(jìn)程與線程的問(wèn)題
2.4.2 32位應(yīng)用程序的內(nèi)存分配
2.4.3 32位應(yīng)用程序的內(nèi)存管理模式
2.5 本章實(shí)例--消息監(jiān)視專家Spy
第3章 Windows用戶界面
3.1 控件
3.1.1 按鈕
3.1.2 組合框
3.1.3 編輯控件
3.1.4 列表框
3.1.5 滾動(dòng)條
3.1.6 靜態(tài)控件
3.2 資源
3.2.1 光標(biāo)
3.2.2 圖標(biāo)
3.2.3 菜單
3.2.4 字符串
3.3 用戶輸入
3.3.1 通用對(duì)話框
3.3.2 鼠標(biāo)輸入
3.3.3 鍵盤輸入
3.4 窗口
3.5 實(shí)例1--迷你視頻終端VideoTerminal
3.6 實(shí)例2--自定義資源的程序WinMainSample
第4章 Windows程序員基礎(chǔ)
4.1 Windows對(duì)錯(cuò)誤的處理
4.1.1 錯(cuò)誤代碼表
4.1.2 獲取錯(cuò)誤信息--GetLastError()
4.1.3 錯(cuò)誤代碼轉(zhuǎn)換工具
4.1.4 自定義錯(cuò)誤代碼
4.2 Unicode編程與軟件本地化
4.2.1 為什么要選擇Unicode
4.2.2 如何編寫Unicode源代碼
4.2.3 使自己的應(yīng)用程序符合Unicode規(guī)范
4.2.4 如何區(qū)分ANSI文本和Unicode文本
4.2.5 在多字節(jié)字符與寬字節(jié)字符之間轉(zhuǎn)換
4.3 內(nèi)核對(duì)象的概念
4.3.1 什么是內(nèi)核對(duì)象
4.3.2 管理和操作內(nèi)核對(duì)象
4.3.3 進(jìn)程間共享內(nèi)核對(duì)象
4.4 本章實(shí)例--Unicode轉(zhuǎn)換大師UConvert
第5章 進(jìn)程
5.1 進(jìn)程的實(shí)例句柄
5.2 進(jìn)程的命令行和環(huán)境變量
5.2.1 進(jìn)程的命令行
5.2.2 進(jìn)程的環(huán)境變量
5.3 進(jìn)程的當(dāng)前驅(qū)動(dòng)器和當(dāng)前目錄
5.4 進(jìn)程的親緣性
5.5 進(jìn)程的錯(cuò)誤模式
5.6 創(chuàng)建進(jìn)程與終止進(jìn)程
5.6.1 創(chuàng)建進(jìn)程函數(shù)CreateProcess()
5.6.2 終止進(jìn)程
5.7 子進(jìn)程
5.8 本章實(shí)例1--進(jìn)程查看器ProcessView
5.9 本章實(shí)例2--事件調(diào)試瀏覽器Debug Event Browser
第6章 進(jìn)程的作業(yè)
6.1 對(duì)作業(yè)進(jìn)程的限制
6.2 將進(jìn)程放入作業(yè)和終止作業(yè)
6.2.1 將進(jìn)程放入作業(yè)
6.2.2 終止作業(yè)中的進(jìn)程
6.3 查詢作業(yè)信息
6.4 作業(yè)通知信息
第7章 線程基礎(chǔ)
7.1 由進(jìn)程到線程
7.2 線程的使用條件
7.2.1 何時(shí)能夠使用線程
7.2.2 何時(shí)不能使用線程
7.3 線程的創(chuàng)建與終止
7.3.1 線程函數(shù)的編寫
7.3.2 線程的創(chuàng)建
7.3.3 線程的終止
7.3.4 深入了解線程本質(zhì)
7.4 C/C++運(yùn)行時(shí)庫(kù)與線程
7.4.1 C/C++運(yùn)行時(shí)庫(kù)的問(wèn)題
7.4.2 C/C++運(yùn)行時(shí)庫(kù)函數(shù)與局部數(shù)據(jù)塊tiddata
7.4.3 為什么不調(diào)用CreateThread()創(chuàng)建線程
7.4.4 不應(yīng)該調(diào)用的C/C++運(yùn)行時(shí)庫(kù)函數(shù)
7.5 線程在系統(tǒng)中的ID
7.5.1 通過(guò)ID操作線程
7.5.2 將偽句柄轉(zhuǎn)換為實(shí)句柄
7.6 線程分類
7.6.1 工作線程
7.6.2 用戶界面線程
7.7 本章實(shí)例--文件比較工具WinDiff
第8章 線程的調(diào)度、優(yōu)先級(jí)和親緣性
8.1 線程的調(diào)度
8.1.1 系統(tǒng)對(duì)線程的調(diào)度過(guò)程
8.1.2 暫停和恢復(fù)線程的運(yùn)行
8.1.3 睡眠方式
8.1.4 轉(zhuǎn)換到另一個(gè)線程
8.1.5 線程的運(yùn)行時(shí)間
8.1.6 CONTEXT結(jié)構(gòu)
8.2 優(yōu)先級(jí)
8.2.1 線程的優(yōu)先級(jí)
8.2.2 優(yōu)先級(jí)的抽象理解
8.2.3 使用優(yōu)先級(jí)編程
8.3 親緣性
8.3.1 軟親緣性和硬親緣性
8.3.2 進(jìn)程的親緣性屏蔽
8.3.3 進(jìn)程中線程的親緣性屏蔽
8.4 本章實(shí)例--一個(gè)多線程程序MThread
第9章 線程的同步
9.1 用戶模式中的線程同步
9.1.1 原子訪問(wèn)與互鎖函數(shù)
9.1.2 高級(jí)線程同步
9.1.3 高速緩存行
9.1.4 臨界代碼區(qū)
9.2 線程與內(nèi)核對(duì)象的同步
9.2.1 已通知狀態(tài)與未通知狀態(tài)
9.2.2 等待函數(shù)
9.2.3 事件(Event)
9.2.4 等待定時(shí)器(WaitableTimer)
9.2.5 信號(hào)量(Semaphore)
9.2.6 互斥對(duì)象(Mutex)
9.2.7 線程同步對(duì)象速查表
9.2.8 其他線程同步函數(shù)
9.3 線程池
9.4 本章實(shí)例--聲音的獲取與回放(AudioLoop)
第10章 線程的堆棧與纖程
10.1 線程的堆棧
10.1.1 Windows 2000下的線程堆棧
10.1.2 Windows 98下的線程堆棧
10.2 纖程
10.2.1 纖程的意義
10.2.2 纖程的使用
10.3 本章實(shí)例--基于纖程的文件拷貝器Fibers
第11章 系統(tǒng)信息與注冊(cè)表
11.1 系統(tǒng)信息
11.1.1 硬件配置
11.1.2 操作系統(tǒng)版本
11.1.3 計(jì)算機(jī)名
11.1.4 操作系統(tǒng)配置
11.1.5 系統(tǒng)參數(shù)
11.1.6 系統(tǒng)尺寸
11.2 注冊(cè)表
11.2.1 注冊(cè)表結(jié)構(gòu)
11.2.2 注冊(cè)表存儲(chǔ)空間
11.2.3 預(yù)定義的關(guān)鍵字
11.2.4 數(shù)據(jù)分類
11.2.5 關(guān)鍵字的打開(kāi)、創(chuàng)建與關(guān)閉
11.2.6 注冊(cè)表數(shù)據(jù)的添加和刪除
11.2.7 注冊(cè)表關(guān)鍵字的安全屬性與訪問(wèn)權(quán)限
11.2.8 從注冊(cè)表中檢索數(shù)據(jù)
11.2.9 注冊(cè)表文件
11.2.10 注冊(cè)表的使用
11.3 本章實(shí)例--注冊(cè)表讀取專家Registry
第12章 虛擬內(nèi)存
12.1 進(jìn)程的虛擬地址空間
12.1.1 虛擬地址空間的分區(qū)
12.1.2 地址空間中區(qū)域的管理
12.1.3 地址空間區(qū)域中物理內(nèi)存的占用
12.1.4 實(shí)例--創(chuàng)建保護(hù)頁(yè)面
12.1.5 CPU的數(shù)據(jù)對(duì)齊特性
12.2 虛擬內(nèi)存的狀態(tài)
12.2.1 內(nèi)存的使用狀態(tài)
12.2.2 虛擬地址空間的狀態(tài)
12.3 地址窗口擴(kuò)展
12.4 本章實(shí)例--虛擬內(nèi)存的管理員Walker
第13章 文件映射
13.1 關(guān)于文件映射
13.1.1 文件視圖的數(shù)據(jù)一致性
13.1.2 文件映射的優(yōu)勢(shì)
13.2 使用文件映射
13.2.1 創(chuàng)建或打開(kāi)文件內(nèi)核對(duì)象
13.2.2 創(chuàng)建文件映射內(nèi)核對(duì)象
13.2.3 創(chuàng)建文件視圖
13.2.4 撤銷文件視圖
13.2.5 關(guān)閉文件映射對(duì)象和文件對(duì)象
13.2.6 兩個(gè)文件映射的例子
13.3 幾個(gè)不同類型文件的內(nèi)存映射
13.3.1 EXE文件和DLL文件的映射
13.3.2 數(shù)據(jù)文件的映射
13.4 共享文件和內(nèi)存
13.5 本章實(shí)例--實(shí)現(xiàn)命名共享內(nèi)存的程序Memory
第14章 內(nèi)存堆棧
14.1 關(guān)于內(nèi)存堆棧
14.1.1 堆棧的概念
14.1.2 進(jìn)程的默認(rèn)堆棧
14.2 創(chuàng)建與使用內(nèi)存堆棧
14.2.1 為什么要?jiǎng)?chuàng)建內(nèi)存堆棧
14.2.2 如何使用內(nèi)存堆棧
14.2.3 C++程序中如何使用堆棧
14.3 其他堆棧函數(shù)的使用
14.4 本章實(shí)例--多線程的堆棧管理器MpHeap
第15章 動(dòng)態(tài)鏈接庫(kù)
15.1 為什么要使用DLL
15.2 DLL在進(jìn)程的地址空間
15.3 DLL的隱式鏈接
15.3.1 DLL模塊的創(chuàng)建
15.3.2 EXE模塊的創(chuàng)建
15.3.3 EXE模塊的運(yùn)行
15.4 DLL的顯式鏈接
15.4.1 顯式加載DLL模塊
15.4.2 顯式卸載DLL模塊
15.4.3 DLL的使用計(jì)數(shù)
15.4.4 獲得輸出符號(hào)地址
15.5 DLL的進(jìn)入點(diǎn)函數(shù)
15.5.1 DllMain()函數(shù)
15.5.2 C/C++運(yùn)行時(shí)庫(kù)的情況
15.6 DLL的高級(jí)使用
15.6.1 延遲加載DLL
15.6.2 操作系統(tǒng)的DLL
15.6.3 DLL的轉(zhuǎn)移
15.6.4 模塊的移位
15.6.5 模塊的綁定
15.6.6 線程本地存儲(chǔ)器
15.7 本章實(shí)例1--一個(gè)簡(jiǎn)單的動(dòng)態(tài)鏈接庫(kù)程序dll
15.8 本章實(shí)例2--標(biāo)準(zhǔn)DLL的創(chuàng)建實(shí)例SpinCube
第16章 結(jié)構(gòu)化異常處理
16.1 關(guān)于結(jié)構(gòu)化異常處理
16.1.1 異常處理
16.1.2 基于幀的異常處理
16.1.3 結(jié)束處理
16.1.4 處理器的文法結(jié)構(gòu)
16.2 結(jié)構(gòu)化異常處理的使用
16.2.1 使用異常處理器
16.2.2 使用結(jié)束處理器
16.3 結(jié)構(gòu)化異常與C++異常的對(duì)比
16.4 本章實(shí)例--模式匹配查找工具Asyncio 654
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載