| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1017 人关注过本帖
标题:谁能帮我简单的解释下面的一段代码
只看楼主 加入收藏
lishizelibin
Rank: 2
等 级:论坛游民
帖 子:513
专家分:41
注 册:2007-5-10
结帖率:100%
收藏
 问题点数:0 回复次数:2 
谁能帮我简单的解释下面的一段代码
00401070   push        ebp
00401071   mov         ebp,esp
00401073   sub         esp,0Ch
00401076   push        ebx
00401077   push        esi
00401078   push        edi
00401079   lea         eax,[ebp+0Ch]
0040107C   mov         dword ptr [arglist],eax
0040107F   cmp         dword ptr [format],0
00401083   jne         printf+33h (004010a3)

00401085   push        offset string "format != NULL" (0042302c)
0040108A   push        0
0040108C   push        36h
0040108E   push        offset string "printf.c" (00423020)
00401093   push        2
00401095   call        _CrtDbgReport (00402690)
0040109A   add         esp,14h
0040109D   cmp         eax,1
004010A0   jne         printf+33h (004010a3)
004010A2   int         3
004010A3   xor         ecx,ecx
004010A5   test        ecx,ecx
004010A7   jne         printf+0Fh (0040107f)
004010A9   push        offset __iob+20h (00425a78)
004010AE   call        _stbuf (00401370)
004010B3   add         esp,4
004010B6   mov         dword ptr [buffing],eax
004010B9   mov         edx,dword ptr [arglist]
004010BC   push        edx
004010BD   mov         eax,dword ptr [format]
004010C0   push        eax
004010C1   push        offset __iob+20h (00425a78)
004010C6   call        _output (00401590)
004010CB   add         esp,0Ch
004010CE   mov         dword ptr [retval],eax
004010D1   push        offset __iob+20h (00425a78)
004010D6   mov         ecx,dword ptr [buffing]
004010D9   push        ecx
004010DA   call        _ftbuf (004014d0)
004010DF   add         esp,8
004010E2   mov         eax,dword ptr [retval]
004010E5   pop         edi
004010E6   pop         esi
004010E7   pop         ebx
004010E8   mov         esp,ebp
004010EA   pop         ebp
004010EB   ret

红色部分,谢谢

[ 本帖最后由 lishizelibin 于 2010-7-31 21:17 编辑 ]
搜索更多相关主题的帖子: 代码 解释 
2010-07-31 21:15
lishizelibin
Rank: 2
等 级:论坛游民
帖 子:513
专家分:41
注 册:2007-5-10
收藏
得分:0 
谢谢,不用了
程序代码:
 int __cdecl printf ( const char *format, ... )
    {
        va_list ap;
        int buffing;
        int retval;
        va_start(ap, format);                         _ASSERTE(format != NULL);
         _lock_str2(1, stdout);
        buffing =_stbuf(stdout);
         retval = _output(stdout,format,ap);                 _ftbuf(buffing, stdout);
         _unlock_str2(1, stdout);
        return(retval);
    }


惟有学习不断的学习!
2010-07-31 21:26
Alar30
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:10
帖 子:988
专家分:1627
注 册:2009-9-8
收藏
得分:0 
恭喜LZ自学成功
2010-08-03 09:11
快速回复:谁能帮我简单的解释下面的一段代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.075834 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved