windows 核心程式設計第五版
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
第一章 錯誤處理
1.呼叫系統api時候仔細檢視msdn返回值含義。
2.函式呼叫失敗後,可以立即呼叫 getlasterror來檢視錯誤碼。
3.可以利用visual studio 自帶工具 error lookup 來檢視錯誤碼對應的含義。
4.在除錯的時候在watch 視窗中選擇一行,然後輸入$err,hr。對於錯誤碼和錯誤資訊都能更有效的檢視。
5.定義自己的錯誤碼:有時候我們會寫函式提供給別人呼叫,這樣就需要向別人指出錯誤。為了指出錯誤,只需要設定執行緒上的乙個錯誤**,然後另自己的函式返回false,invalid_handle_value,null 或者其它合適的值。為了設定執行緒的上乙個錯誤**,只需要呼叫:
void setlasterror(dword dwerrcode);
盡量使用winerror.h 中現有的**來表示錯誤碼。如果都不能很好的反應自己想要表達的錯誤資訊,就可以自己建立錯誤碼,錯誤**是乙個32位數。唯一需要注意的是29位為1(表示使用者自定義錯誤)
位 31-30
2928
27-16
15-0
內容 嚴重性
microsoft / soft
保留 facility**
異常**
含義 0 = 成功
1 = 資訊
2 = 警告
3 = 錯誤
0 = 微軟定義的**
1 = 使用者定義的**
必須為0
前256個值由microsoft保留
microsoft / 客戶定義的**
Windows核心程式設計第一章 錯誤處理
不管是做逆向,開始做開發.在windows下.你都需要看一下核心程式設計這本書.這本書確實寫得很好.所以自己在學習這本書的同時,也把自己所學的知識進行 總結,以及鞏固.資料型別 作用 void 如果是void表示函式不可能失敗.極少數windows函式會返回void bool 表示這個函式會有失敗情...
程式設計珠璣第一章
原文中的問題 如何在1mb的空間裡面對一千萬個整數進行排序?並且每個數都小於1千萬。實際上這個需要1.25mb的記憶體空間。1mb總共有838,8608。所以估計也可以在1mb左右的空間裡面進行排序了。include include define bitsperword 32 define shif...
第一章 C 程式設計
今天終於下定決心將資料結構與演算法重新在複習一遍,先是c 的一些比較容易忘記的特性簡單的溫習一遍 包括遞迴呼叫,異常操作,類模板,函式模板等等,這三天寫得原始碼如下 book name c structure and algorithm filename chapter1.cpp version 1...