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