目 錄
簡介
0.1概述
0.2Facilities(設備)
0.3Microsoft課程
0.4課程材料
0.5你的期望
0.6課程提綱
第一章 移植
1.1概述
1.2Windows3.1編譯器概述
1.3Win32編譯器概述
1.4Makefile句法
1.5Makefile第一部分:NTWIN32.MAK
1.6Makefile第二部分:編譯源程序
1.7Makefile第三部分:編譯資源
1.8Makefile第四部分:連接
1.9Headers(頭)
1.10移植工具
1.11PORT.INI文件
1.12移植的步驟
1.13WinMain的使用
1.14窗口消息程序
1.15消息參數重裝
1.16消息封裝的宏命令
1.17可移植消息處理
1.18可移植API函數
1.19為Windows書寫可移植C源代碼
1.20Pitfalls
1.21MicrosoftWin32軟件開發工具(SDK)
1.22演示
1.23復習
1.24實驗一:移植
第二章 WindowsNT體係結構概述
2.1概述
2.2WindowsNT的設計目標
2.3連接多重係統
2.4WindowsNT體係結構
2.5NT執行程序
2.6WindowsNT 子係統
2.7進程間通信
2.8搶占式多任務
2.9多處理
2.10虛存管理
2.11WindowsNT 對象
2.12對象模型
2.13對象結構
2.14WindowsNT I/O係統體係結構
2.15分層設備驅動程序
2.16注冊
2.17復習
第三章 結構化的異常處理
3.1概述
3.2定義
3.3句法
3.4異常流程圖
3.5終止流程圖
3.6異常句柄查詢體係
3.7句柄特性
3.8異常舉例
3.9終止舉例
3.10實驗二:結構化的異常處理
3.11異常調度
3.12 異常處理及解除
3.13異常篩選程序
3.14異常信息
3.15未經處理的異常篩選程序
3.16收迴異常
3.17 非正常終止
3.18復習
3.19實驗二:結構化的異常處理
第四章 創建/啓動一個進程
4.1概述
4.2進程定義
4.3進程屬性
4.4進程資源
4.5進程間通信
4.6管道
4.7進程創建
4.8設置啓動窗口消
4.9進程消息
4.10繼承
4.11安全屬性
4.12進程句柄
4.13控製一個進程
4.14終止一個進程
4.15閤適的API函數
4.16讀和寫句柄
4.17復習
4.18實驗三:創建/啓動一個進程
第五章 綫程和同步
5.1概述
5.2定義
5.3進程的梗概
5.4綫程調度
5.5綫程搶占
5.6綫程優先級
5.7為何使用多綫程?
5.8綫程額外開銷
5.9綫程創建API函數
5.10CreateThread舉例
5.11CalculationThreadProc舉例
5.12綫程ID和句柄
5.13綫程終止
5.14C運行時間庫
5.15實驗四:綫程和同步
5.16綫程同步函數
5.17在對象上等待
5.18事件對象
5.19使用事件對象
5.20排它對象
5.21利用排它對象
5.22信號燈對象
5.23利用信號燈對象
5.24臨界區
5.25使用臨界區
5.26綫程和信息隊列:Windows3.1模型
5.27綫程和信息隊列:Win32模型
5.28API函數
5.29復習
5.30實驗四:綫程和同步
第六章 標準I/O
6.1概述
6.2I/O係統的組成部分
6.3SCSI分層
6.4內部對象
6.5超高速緩存管理器
6.6同步I/O處理
6.7異步I/O處理
6.8同步的/異步的I/O
6.9異步過程調用(APC)
6.10文件I/O的API
6.11使用事件的異步I/O
6.12使用I/O完成例行程序的異步I/O
6.13標準的輸入和輸齣
6.14復習
6.15實驗五:標準I/O
第七章 內存管理
7.1概述
7.2地址空間
7.3虛擬內存
7.4頁目錄、頁錶、頁幀
7.5分頁文件
7.6頁麵提交
7.7拷貝寫和保護文件
7.8API函數:HeapAlloc
7.9API函數:LocalAllocGlobalAlloc
7.10 API函數:C運行時間庫
7.11 API函數:VirtualAlloc
7.12 實驗六:內存管理
7.13 內存共享
7.14 GMEMDDESHARE
7.15 內存映射文件的視圖
7.16 GreateFileMapping和OpenFileMapping
7.17 MapViewOfFile和UnmapViewOfFile
7.18 使用內存映射文件來共享內存
7.19 基指針
7.20 復習
7.21 實驗六:內存管理
第八章 動態連接庫(DLL)
8.1 概述
8.2 DLL映射
8.3 調用/執行
8.4 實例數據
8.5 綫程局部存儲
8.6 單一進入和退齣點:DllEntryPoint
8.7 DllEntryPoint代碼舉例
8.8 綫程同DLL,的連接與分離
8.9 動態安裝
8.10 終止與退齣
8.11 C運行時間庫
8.12 SS!=DS不再是問題
8.13 編譯DLL代碼
8.14 連接DLL
8.15 建立共享內存
8.16 DLL模塊定義文件
8.17 輸入和輸齣函數
8.18 與3.1的區彆:數據在應用程序中的共享
8.19 與3.1的區彆:實例數據
8.20 復習
8.21 實驗七:動態連接庫(DLL)
第九章 遠程過程調用(RPC)
9.1 概述
9.2 什麼是RPC
9.3 RPC 構件
9.4 RPC如何工作
9.5 傳輸
9.6 名字服務
9.7 RPC運行時間:函數
9.8 界麵定義語言
9.9 MIDL 編譯器需要什麼
9.10 應用程序配置文件(ACF)
9.11 聯編
9.12 聯編和聯編句柄
9.13 MIDL 編譯
9.14 輸齣文件生成
9.15 建立過程
9.16 熟悉的過程調用模型
9.17 .IDL文件
9.18 .ACF文件
9.19 RPC所需函數
9.20 調用RPC服務器API函數
9.21 調用RPC客戶機API函數
9.22 MDIL編譯
9.23 演示:RPC代碼的指導
9.24 復習
9.25 實驗八:遠程過程調用(RPC)
第十章 精調基於Win32的應用程序
10.1 概述
10.2 性能工具
10.3 演示
10.4 復習
第十一章 國際化和統一代碼
11.1 概述
11.2 什麼是統一代碼
11.3 編碼方案設計
11.4 Win32中的統一代碼
11.5 統一代碼編程
11.6 數據類型
11.7 函數原型
11.8 基本轉換步驟
11.9 Window類
11.10 消息
11.11 C運行時間擴展
11.12 文件名
11.13 字節指令標記
11.14 識彆統一代碼文件
11.15 復習
11.16 實驗九:統一代碼
附錄A 樣例程序清單
附錄B 有關論文
將基於Windows的16位的應用程序移植到Win32中
WindowsNT中的虛擬內存管理器
Win32中的DLL
實驗手冊
概述
實驗一 移植到一個32位的平颱
練習1將一個16位的應用程序移植到一個32位的平颱上
實驗二 結構化異常處理
練習1實驗結構化異常處理
練習2(可選)使用係統默認異常篩選程序
練習3實現一個樣本篩選程序
實驗三 啓動並創建一個進程
練習1:創建並控製一個進程
實驗四 綫程和同步
練習1創建一個綫程並使它運行
練習2創建並同步多綫程
實驗五 標準I/O
練習1執行異步文件I/O
實驗六 內存管理
練習1用HeapAPI管理內存
練習2通過內存映射文件來共享內存
實驗七 DLL
練習1創建一個32位的DLL
實驗八 遠程過程調用(RPC)
練習1實現一個RPC的應用程序
實驗九 國際化和統一代碼
練習1把一個應用程序轉換成統一代碼
· · · · · · (
收起)