变态重口极致另类在线-波多久久夜色精品国产-波多野结衣在线观看一区-波多野结衣在线观看一区二区-污污的网站免费阅读-污污视频网址

東坡下載:內容最豐富最安全的下載站!

首頁IT技術軟件教程 → visual C++編譯異常分析及解決方法

visual C++編譯異常分析及解決方法

相關文章發表評論 來源:本站整理時間:2014/10/27 18:10:01字體大小:A-A+

更多

作者:專題點擊:172次評論:0次標簽: visual c語言

要想學習好VC必須具備良好的C/C++的基礎,必要的英語閱讀能力也是必不可少的,因為大量的技術文檔多以英文形式發布,否則就會導致VC++編譯異常,這大大的影響了程序員的效率。

代碼

struct EXCEPTION_REGISTRATION   

{   

EXCEPTION_REGISTRATION* prev;   

DWORD handler;   

int id;   

DWORD ebp;   

};  

VC++編譯異常會為絕大部分函數③添加一個EXCEPTION_REGISTRATION類型的局部變量,它的最后一個字段(ebp)與棧楨指針指向的位置重疊。函 數的序言創建這個結構并把它注冊給操作系統,尾聲則恢復主調函數的EXCEPTION_REGISTRATION。id字段的意義我將在下一節介紹。

VC++編譯函數時會為它生成兩部分數據 

a)異常回調函數 

b)一個包含函數重要信息的數據結構,這些信息包括catch塊、這些塊的地址和這些塊所關心的異常的類型等等。我把這個結構稱為funcinfo,有關它的詳細討論也在下一節。

是考慮了異常處理之后的運行時堆棧。widget的異常回調函數位于由FS:[0]指向的異常處理鏈的開始位置(這是由widget的序言設置的)。

異常處理

異常處理程序把widget的funcinfo結構的地址交給函數__CxxFrameHandler,__CxxFrameHandler會檢查這個結 構看函數中有沒有catch塊對當前的異常感興趣。

如果沒有的話,它就返回ExceptionContinueSearch給操作系統,于是操作系統會從 異常處理鏈表中取得下一個結點,并調用它的異常處理程序(也就是調用當前函數的那個函數的異常處理程序)。

這一過程將一直進行下去——直到處理程序找到一個能處理當前異常的catch塊為止,這時它就不再返回操作系統了。但是在調用catch塊之前(由于有 funcinfo結構,所以知道catch塊的入口,參見圖3),必須進行堆棧展開,也就是清理掉當前函數的棧楨下面的所有其他的棧楨。這個操作稍微有點 復雜。

因為:異常處理程序必須找到異常發生時生存在這些棧楨上的所有局部對象,VC++編譯異常并依次調用它們的析構函數。后面我將對此進行詳細介紹。 異常處理程序把這項工作委托給了各個棧楨自己的異常處理程序。從FS:[0]指向的異常處理鏈的第一個結點開始,它依次調用每個結點的處理程序,告訴它堆 棧正在展開。

與之相呼應,這些處理程序會調用每個局部對象的析構函數,然后返回。此過程一直進行到與異常處理程序自身相對應的那個結點為止。 由于catch塊是函數的一部分,所以它使用的也是函數的棧楨。因此,在調用catch塊之前,異常處理程序必須激活它所隸屬的函數的棧楨。

其次,每個catch塊都只接受一個參數,VC++編譯異常其類型是它希望捕獲的異常的類型。異常處理程序必須把異常對象本身或者是異常對象的引用拷貝到catch塊的棧 楨上,編譯器在funcinfo中記錄了相關信息,處理程序根據這些信息就能知道到哪去拷貝異常對象了。

  • Microsoft Visual Studio合集
  • Visual C++
  • visualbasic
Microsoft Visual Studio合集
(9)Microsoft Visual Studio合集

Microsoft Visual Studio作為一個基本完整的開發工具集,Microsoft Visual Studio為用戶提供了整個軟件生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發環境(IDE)等等。所寫的目標代碼適用于微軟支持的所有平臺,適合各種編程人員使用。

...更多>>
Visual C++
(26)Visual C++

最全面的VC++合集,這里為有需要的用戶提供了從一些網上資源很少的舊版本到官方最新推出的新版本,所有你有需求的VC++版本,在這里都能夠直接找到,需要那些老版本的用戶可以直接通過這里進行下載。

...更多>>
visualbasic
(15)visualbasic

visual Basic是經常需要編程的人員都是需要使用到的,這里為你提供各種各樣的軟件的版本,同時也是為你免費的提供最新的vb控件補丁下載,在這里是可以免費的為你解決你需要各種Visual Basic版本問題,歡迎免費下載使用!

...更多>>
更多精彩內容請點擊

visual studio

專題

擴展知識

相關評論

閱讀本文后您有什么感想? 已有 人給出評價!

  • 2791 喜歡喜歡
  • 2101 頂
  • 800 難過難過
  • 1219 囧
  • 4049 圍觀圍觀
  • 5602 無聊無聊
熱門評論
最新評論
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)

本類常用軟件

主站蜘蛛池模板: 毛片黄色视频 | 一级片视频免费 | 最新丁香六月 | 狠狠色噜噜综合社区 | 全部免费特黄特色大片视频 | 欧美日韩高清一本大道免费 | 又色又爽又黄的三级视频在线观看 | 国产精品欧美在线观看 | 国产色爽女小说免费看 | 国产精品高清一区二区 | 成人欧美精品一区二区不卡 | 日本欧美一区二区三区在线观看 | 热99re久久免费视精品频软件 | 国产午夜三级 | 免费中文字幕在线 | 午夜精品免费 | 天天插天天摸 | 免费看黄的动漫永久免费 | 99日韩精品 | 男女啪啪搓胸gif动态图 | 最近2019视频免费观看8 | 精品一区二区三区中文字幕 | 色多网站免费视频 | 2021人人莫人人擦人人看 | 成人欧美日韩视频一区 | 麻豆久久婷婷国产综合五月 | 欧美在线看欧美高清视频免费 | 欧美肥胖老女人 | 亚洲欧美在线综合一区二区三区 | 97视频精品| 欧美特黄视频 | 免费一区二区三区视频狠狠 | 美女黄色免费看 | 日本三级香港三级人妇网站 | 日韩在线视频免费看 | 亚洲视频在线网站 | 亚色污 | 精品国语国产在线对白 | 欧美无内丝袜大尺度福利写真 | 五月开心久久 | 日韩伦理剧在线观看 |