我对异常的理解,看对不对.

jxc25 2008-08-23 11:25:57
kernel32!lstrlenA:;字符窜长度美国标准
7c80bdb6 push 8;此函数没有变量
7c80bdb8 push offset kernel32!`string'+0x88 (7c80bdf0);意外表
7c80bdbd call kernel32!_SEH_prolog (7c8024c6);意外开始
7c80bdc2 mov eax,dword ptr [ebp+8];第一个参数
7c80bdc5 test eax,eax;是Null吗
7c80bdc7 je kernel32!lstrlenA+0x34 (7c836635);如果是结束
7c80bdcd and dword ptr [ebp-4],0;使用第一个意外
7c80bdd1 lea edx,[eax+1];头指针++
7c80bdd4 mov cl,byte ptr [eax];尾指针
7c80bdd6 inc eax;尾指针++
7c80bdd7 test cl,cl;是尾吗
7c80bdd9 jne kernel32!lstrlenA+0x1a (7c80bdd4);如果不是继续
7c80bddb sub eax,edx;尾指针-头指针
7c80bddd or dword ptr [ebp-4],0FFFFFFFFh;不使用意外
7c80bde1 call kernel32!_SEH_epilog (7c802501);意外结束
7c80bde6 ret 4;此函数有一个参数
...全文
86 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzgzlxg 2008-08-23
  • 打赏
  • 举报
回复
有一本鬼佬写的C++异常的书非常不错,书名要到我以前在看雪发的帖子中去找,我自己懒得找了。
gyk120 2008-08-23
  • 打赏
  • 举报
回复
厉害,学习了
cnzdgs 2008-08-23
  • 打赏
  • 举报
回复
基本都对,不过这只是lstrlenA函数的实现,函数中设置了异常捕获,但并未涉及异常捕获的过程。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧