浅析"烫烫烫烫"是怎么来的
来源:互联网 发布:淘宝联盟钱盾身份认证 编辑:程序博客网 时间:2024/06/09 16:35
浅析"烫烫烫烫"是怎么来的
在用VC写代码时,经常会遇到在栈中申请空间的并且没有被初始化的字符数组就会显示"烫烫烫烫。。。",虽然是知道编译器对栈中没有初始化的数据会进行默认的初始化工作,但是一直不得要领,在拜读《程序员的自我修养》的时候有所收获,还挺有意思的,写出来和大家分享。
代码很简单,就是在栈中申请了一个大小为4个字节的字符数组。
用断点查看X的值,可以发现,“烫烫”出现了:
x 0x0012ff60 "烫烫烫烫?" char [4]
查看反汇编:
简单解释一下关键句的含义:
004113AC 8D BD 34 FF FF FF lea edi,[ebp-0CCh]
将获得的0CCh大小的栈空间首地址赋给edi
004113B2 B9 33 00 00 00 mov ecx,33h
rep的循环次数为33h
004113B7 B8 CC CC CC CC mov eax,0CCCCCCCCh
eax = 0CCCCCCCCh
004113BC F3 AB rep stos dword ptr es:[edi]
将栈空间的33H个双字节赋值为0CCCCCCCCh
而0xcccc用汉语表示刚好就是“烫”
oxcc正好是中断int 3的指令 起到保护作用
- 浅析"烫烫烫烫"是怎么来的
- 浅析"烫烫烫烫"是怎么来的
- 【AjaxPro实现机制浅析二】*.ashx文件是怎么来的?
- 阳历是怎么来的
- 情人节是怎么来的
- bzImage是怎么来的
- 母亲节是怎么来的
- 性能是怎么来的
- 微软的收入是怎么来的
- -128的补码是怎么来的
- 0x33f00038是怎么得出来的?
- 不知道积分是怎么来的
- 权限树是怎么作出来的?
- “Checked”和“Free”是怎么来的?
- 嵌入式这个名字是怎么来的?
- keygen是怎么写出来的。
- 现代处理器是怎么做出来的?
- 中国人虚荣心是怎么来的
- Asp.net中Application Session Cookie ViewState Cache Hidden 区别
- php this self parent 区别与联系
- auto_inline,inline以及编译器优化之间的关系
- 工作笔记
- String类的成员函数实现
- 浅析"烫烫烫烫"是怎么来的
- 欢迎大家光临我的博客
- Hibernate Session的save()方法
- jquery基础(八)
- 搜狐畅游2010年3D部分笔试题
- 为什么sigsuspend要与sigprocmask配合使用?
- 失眠后的感慨
- JavaServer Pages Technology
- 将两个有序链表合并成一个有序链表——搜狐畅游笔试题归来