| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 751 人关注过本帖
标题:反汇编了一个console版 windows程序时发现的一个小问题
取消只看楼主 加入收藏
kamuli
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-12-8
收藏
 问题点数:0 回复次数:2 
反汇编了一个console版 windows程序时发现的一个小问题
.text:00401010 main            proc near               ; CODE XREF: _mainj
.text:00401010
.text:00401010 var_40          = byte ptr -40h
.text:00401010
.text:00401010                 push    ebp
.text:00401011                 mov     ebp, esp
.text:00401013                 sub     esp, 40h
.text:00401016                 push    ebx
.text:00401017                 push    esi
.text:00401018                 push    edi
.text:00401019                 lea     edi, [ebp+var_40]
.text:0040101C                 mov     ecx, 10h
.text:00401021                 mov     eax, 0CCCCCCCCh
.text:00401026                 rep stosd
.text:00401028                 xor     eax, eax
.text:0040102A                 pop     edi
.text:0040102B                 pop     esi
.text:0040102C                 pop     ebx
.text:0040102D                 mov     esp, ebp
.text:0040102F                 pop     ebp
.text:00401030                 retn
.text:00401030 main            endp


VC6.0 编译的,里面就是一个 main空函数
其中这句  .text:00401013                 sub     esp, 40h    中的   40h 空间干嘛用去了??随便生产一个console程序都有这么个空间,一直不明白
搜索更多相关主题的帖子: edi windows 
2011-08-07 20:18
kamuli
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-12-8
收藏
得分:0 

嗯,是debug模式,默认编译选项,
再继续追问
2011-08-08 11:10
kamuli
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-12-8
收藏
得分:0 

按照大大的提醒,编译了一个Release版本的  console,貌似这个 40h的空间就没出现了,猜是跟 编译选项有关了,

那能不能说说Debug版多出这个40h来做什么??里面初始化还都是 0xCCCCCCCCh  就是 CCh指令,这是断点丫,
2011-08-08 11:27
快速回复:反汇编了一个console版 windows程序时发现的一个小问题
数据加载中...
 
   



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

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