浅析烫烫烫烫是怎么来的

news/2024/6/29 12:12:17 标签: 编译器, 汇编, 化工, c
cle class="baidu_pl">
cle_content" class="article_content clearfix">
content_views" class="htmledit_views">

浅析"烫烫烫烫"是怎么来的

在用VC写代码时࿰c;经常会遇到在栈中申请空间的并且没有被初始化的字符数组就会显示"烫烫烫烫。。。"࿰c;虽然是知道class="tags" href="/tags/BianYiQi.html" title=编译器>编译器对栈中没有初始化的数据会进行默认的初始class="tags" href="/tags/HuaGong.html" title=化工>化工作࿰c;但是一直不得要领࿰c;在拜读《程序员的自我修养》的时候有所收获࿰c;还挺有意思的࿰c;写出来和大家分享。

 

代码很简单࿰c;就是在栈中申请了一个大小为4个字节的字符数组。

用断点查看X的值࿰c;可以发现࿰c;“烫烫”出现了:

x 0x0012ff60 "烫烫烫烫?" char [4]

 

查看反class="tags" href="/tags/HuiBian.html" title=汇编>汇编:

 

简单解释一下关键句的含义:

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的指令 起到保护作用

 

cle>

http://www.niftyadmin.cn/n/645226.html

相关文章

2018.3.18都江堰双遗马拉松成绩证书查询链接

2018都江堰双遗马拉松成绩证书查询链接 http://panda.cd42195.com/qy/pay/enrollConfirm?b3JnSWQ9MS01LTEmY21wdElkPTM3NTkmaXRlbUlkPTExMjc5JmVucm9sbElkPTM0NzEyMDEmaXNBZ2VudD0mdj0xNTM3NTk2MTUyMDAw?99 http://www.beedancing-timing.com.cn:8080/Beedancing-20180318sy/…

C#解压或压缩文件夹使用SharpZipLib

转自:http://www.cnblogs.com/terer/articles/1588717.html最近要做一个项目涉及到C#中压缩与解压缩的问题的解决方法,大家分享。 这里主要解决文件夹包含文件夹的解压缩问题。 1)下载SharpZipLib.dll,在http://www.icsharpcode.n…

traits技巧能解决什么问题

《STL源码解析》是侯杰大师翻译的著作,其中在Iterator一章着重介绍了traits技巧,认为traits技巧是搞懂的STL源码的入门钥匙,既然编写STL的神人们都这么重视traits,那么traits到底能帮助我们解决什么问题呢?traits的作用…

华邦内存编码含义w25q64d

https://baike.baidu.com/item/%E5%86%85%E5%AD%98%E7%BC%96%E7%A0%81%E5%90%AB%E4%B9%89 Winbond(华邦) 含义说明: A字段由W组成,代表华邦(Winbond)内存芯片的前缀。 B字段表示产品类型。98代表SDRAM内存…

C#的DES加密示例

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Text;using System.Windows.Forms;using System.Security.Cryptography;//加密部分using System.IO; namespace WindowsFormsApplication1{public partial class F…

如何区分测试环境和正式环境

事件:2011年11月4号下午,为了验证之前用户提交的一个Bug,我打算用当时的data和log反演一遍以验证Bug是否已修复,于是我拿出自己编写的一个根据log自动发送报文给服务器的工具,加载日志-》点击发送,看着一条…

昂达v819i安装win8.1时报错

在v819i贴吧看见有分享的img打包镜像文件,复制到u盘,连接平板自动安装报错。 virtual disk service error: the operation is not support on removable media. the system cannot open this device or file gpecified. 原因是里面有行代码&#xff1…

由一道题目想到的C++编译器优化问题

这两天看到了一个问题,看似简单,但是用的知识着实不少,原题如下: #include "stdafx.h"class Base { public:Base(){}virtual ~Base(){}Base(const Base &other); // 只声明, 没定义 private:Base &o…