[情報] 深入研究 Win32 結構化例外處理 (SEH)
文章內容的完整網頁格式:
http://www.mediafire.com/?euzej6fo0djj6k8
http://www.megaupload.com/?d=FZAX3YZX
觀看方法:
解壓縮到任意目錄,假設「D:\」,執行「D:\20101101013730\index.html」。
如果有安裝 ScrapBook Plus (1.8.17.31),使用匯入功能,
匯入資料夾選擇 D:\ 即可匯入文章。
=========================================================================
內文摘錄
就像人們常說的那樣,Win32 結構化例外處理(SEH)是一個作業系統提供的服務。
那些你能找到的,所有關於 SEH 的文件,講的都是基於特定編譯器的程式庫包裝。我將
從 SEH 的最基本概念講起。
Matt Pietrek 原著; 董岩 譯簡體中文; Victor 轉載自 Xfocus 版並整理;
○○○ 轉載自 Victor 版繁體化及整理
在所有 Win32 作業系統提供的機制中,使用最廣泛的未公開的機制恐怕就要數結構
化例外處理(structured exception handling,SEH)了。一提到結構化例外處理,可能
就會令人想起 _try、_finally 和 _except 之類的術語。在任何一本不錯的 Win32 書中
都會有對 SEH 詳細的介紹。甚至連 Windows SDK 裡面,都對使用 _try、_finally 和
_except 進行 SEH 作了完整的介紹。既然有這麼多地方都提到了 SEH,那我為什麼還要
說它是未公開的呢?本質上講,Win32 結構化例外處理是作業系統提供的一種服務,各家
編譯器的 Runtime Library 都對其做了包裝,而至今看到的那些介紹 SEH 的文件,只是
針對特定編譯器的 Runtime Library 而已。關鍵字 _try、_finally 和 _except 並沒有
什麼神秘的。微軟的 OS 和編譯器定義了這些關鍵字以及它們的行為。其它的 C++ 編譯
器廠商也只需要遵從它們定好的語義就行了。當編譯器的 SEH 層減少了直接使用純作業
系統的 SEH 所帶來危害的同時,也將作業系統原始的 SEH 從大家的面前隱藏了起來。
.
.
.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.134.106
推
11/06 15:38, , 1F
11/06 15:38, 1F
Programming 近期熱門文章
PTT數位生活區 即時熱門文章