本課程主要講解了Windows高級編程(內(nèi)存管理+調(diào)試+句柄+進程+線程同步+動態(tài)鏈接庫)等內(nèi)容,課程共分十四章進行講解,如下:
?
第0講:課程簡介
????? 課程內(nèi)容概述
?????
課程目標概述
?????
課程體系結構
?????
課程需要的準備工作(下載工具、準備基本代碼)
第一章:Windows內(nèi)存管理
???????? 1.現(xiàn)代計算機體系結構基礎和學習內(nèi)存管理的意義
????????
2.x86 32位系列CPU內(nèi)存管理機制概述
????????
3.Windows內(nèi)存管理機制
????????
4.進程地址空間、頁面緩沖池、非頁面緩沖池
????????
5.Windows內(nèi)存管理函數(shù)及基本內(nèi)存管理方法
????????
6.標準C內(nèi)存管理函數(shù)和C++ new 、delete運算符
????????
7.Windows堆函數(shù)使用及性能評估
????????
8.使用PAE、4GT、AWE獲得更多內(nèi)存的訪問( >4GB以上 )
????????
9.利用Windows內(nèi)存函數(shù)重載new 和 delete運算符?
????????
10.打造自己的內(nèi)存池?
?第二章:UINCODE字符串和安全字符串函數(shù)
??????? 1.字符集種類,單雙字節(jié)字符集,寬字節(jié)字符集;
???????
2.為什么使用UNICODE
???????
3.字符集轉換(Win32字符集轉換API ,UTF-8等編碼轉換)
???????
4.UNICODE和其他字符集混合編程問題
???????
5.C運行時庫UNICODE擴展和安全性問題
???????
6.安全字符串函數(shù)和使用
???????
7.ATL中的轉換封裝支持
???????
8.封裝字符串轉換支持類
?
第三章:錯誤處理和結構化異常處理
???????? 1.錯誤碼和詳細錯誤信息的獲取
????????
2.結構化異常處理的基本框架
????????
3.結構化異常處理的使用
????????
4.結構化異常處理和C++異常處理的比較
????????
5.在VC++中混用結構化異常處理和C++異常處理
????????
6.封裝自己的異常模塊
?
?
第四章:獲取系統(tǒng)信息
??????? 1.了解系統(tǒng)信息
???????
2.使用系統(tǒng)信息
???????
3.封裝系統(tǒng)信息類
?
?
第五部章:Windows調(diào)試支持
???????? 1.Windows調(diào)試支持
????????
2.進程、線程的調(diào)試創(chuàng)建及接管調(diào)試信息
????????
3.調(diào)試函數(shù)及使用
????????
4.打造基本的調(diào)試支持環(huán)境
?
第六章:Windows句柄和對象
??????? 1.句柄和對象簡介
???????
2.Windows GUI 和 GDI對象
???????
3.Windows 內(nèi)核對象
???????
4.內(nèi)核對象名字空間簡介
???????
5.對象私有名字空間函數(shù)及使用(Vista、Win2008)
???????
6.實用技術-枚舉對象列表
?
第七章:系統(tǒng)安全性和基本訪問控制
??????? 1.Windows安全對象模型
???????
2.訪問標記、安全模塊、安全描述符、訪問控制列表
???????
3.優(yōu)先權和優(yōu)先權使用
???????
4.創(chuàng)建安全描述符、使用EditSecurity界面化編輯安全描述符
???????
5.GRSLib中的安全支持
?
第八章:Windows多任務基礎
??????? 1.并行、串行、混合程序模型基礎
???????
2.Windows多任務和任務調(diào)度介紹
???????
3.任務優(yōu)先級、親緣性、
???????
4.進程與線程句柄和標識符ID
?
第九章:Windows進程
??????? 1.Windows進程和入口
???????
2.進程環(huán)境變量、親緣性和當前目錄
???????
3.進程默認堆和堆管理
???????
4.進程對象列表
???????
5.創(chuàng)建銷毀進程、子進程
???????
6.重定向子進程的輸入和輸出
???????
7.枚舉系統(tǒng)中的進程列表及PSAPI使用
?
第十章:Windows線程
??????? 1.多線程和線程函數(shù)
???????
2.創(chuàng)建線程和線程退出
???????
3.線程棧和線程局部存儲TLS
???????
4.暫停線程與線程寄存器環(huán)境
???????
5.線程消息循環(huán)和窗口、GDI對象
???????
6.線程調(diào)度優(yōu)先級
???????
7.線程親緣性
???????
8.線程同步和異步基礎
???????
9.線程可警告狀態(tài)
???????
10.線程APC隊列
???????
11.線程消息隊列
???????
12.得到線程的一些統(tǒng)計信息
???????
13.C/C++庫與多線程
???????
14.多線程改造一些串行算法為并行算法的例子
?????? ?
15.打造GRSLib類庫的線程基類
第十一章:線程同步和等待
??????? 1.理解線程同步模型
???????
2.等待函數(shù)原理及用法
???????
3.APC和APC隊列
???????
4.關鍵代碼段
???????
5.事件對象
???????
6.互斥對象
???????
7.信號對象
???????
8.Vista和2008版上的輕量級鎖對象(SRW)
???????
9.一次性初始化對象(One-time Initialization)
???????
10.互鎖的原子操作函數(shù)
???????
11.基本的多線程安全數(shù)據(jù)結構——互鎖單鏈表(Interlocked Singly Linked Lists)
第十二章:動態(tài)鏈接庫
??????? 1.程序鏈接方式和程序庫
???????
2.動態(tài)鏈接庫基礎
???????
3.動態(tài)鏈接庫加載方式(啟動加載、運行時加載、延遲加載)
???????
4.動態(tài)鏈接庫加載基址和程序空間劃分
???????
5.純資源動態(tài)鏈接庫及加載
???????
6.動態(tài)鏈接庫和TLS
???????
7.動態(tài)鏈接庫和共享內(nèi)存
???????
8.枚舉進程中加載的DLL模塊
???????
9.動態(tài)鏈接庫和C/C++運行時庫
???????
10.插入動態(tài)庫方法
第十三章:資源
??????? 1.Windows應用程序資源基礎
???????
2.使用Windows應用程序資源
???????
3.枚舉可執(zhí)行文件中的資源
???????
4.使用資源更新
第十四章:文件和文件映射
?????? 1.Windows文件支持和文件基本操作
??????
2.建立和使用臨時文件
??????
3.字符設備和串口編程
??????
4.文件查找和文件夾遍歷
??????
5.監(jiān)視目錄和目錄變化
??????
6.文件映射和進程間共享內(nèi)存
??????
7.磁盤低級操作——直接讀寫磁盤扇區(qū)
??????
8.IOCP高性能訪問文件及自定義日志系統(tǒng)
??????
9.打造自己的文件操作基類