当前位置: 首页 > news >正文

传奇世界网页版在线玩/唐山seo优化

传奇世界网页版在线玩,唐山seo优化,微网站开发一般费用多少钱,上海企业网站建设哪家好2019独角兽企业重金招聘Python工程师标准>>> 在利用VS提供的反汇编IDE工具查看内存内容的时候,常常会看到一些似曾相识但却无法知道其出处的内容。下面是我从一个MSDN下面的论坛上看到的一片文章,希望通过此篇文章能够解开大家的疑惑&#xf…

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在利用VS提供的反汇编IDE工具查看内存内容的时候,常常会看到一些似曾相识但却无法知道其出处的内容。下面是我从一个MSDN下面的论坛上看到的一片文章,希望通过此篇文章能够解开大家的疑惑,今后对那些“似曾相识”的内存内容有所了解,并渐渐的开始喜欢上他们。

 

Value     Name           Description  
------   --------        ------------------------- 
0xCD     Clean Memory    Allocated memory via malloc or new but never  
                                     written by the application(注释:编译器新开辟的堆(heapk)空间,即使用new运算符的结果)。
 
0xDD     Dead Memory     Memory that has been released with delete or free.  
                                     Used to detect writing through dangling pointers.  
                                   (注释:已收回的堆(heap)空间,即利用delete操作符的结果) 
0xFD     Fence Memory    Also known as "no mans land." This is used to wrap  
                                     the allocated memory (surrounding it with a fence)  
                                     and is used to detect indexing arrays out of  
                                     bounds or other accesses (especially writes) past 
                                     the end (or start) of an allocated block. 
                                     (注释:可以理解为“隔离(栅栏字节)字节”,主要出现在分配的各个堆栈空间之间,用来隔离作用的,例如可以识别数组的下标是否越界。)
0xCC                              When the code is compiled with the /GZ option, 
                                     uninitialized variables are automatically assigned  
                                     to this value (at byte level).  
                                     (注释:在编译器选择/GZ选项HOU ,未初始化的变量都用此内容填充,0xCC同时也是INT 3软中断的机器码,如果在程序中使用了未初始化的内存空间,就会触发相应的软中断,终止程序运行)。
 
// the following magic values are done by the OS, not the C runtime: 
 
0xAB                   (Allocated Block?)               Memory allocated by LocalAlloc().  
 
0xBAADF00D         Bad Food                          Memory allocated by LocalAlloc() with LMEM_FIXED,

                                                                   but not yet written to.  
 
0xFEEEFEEE                                                  OS fill heap memory, which was marked for usage,  
                                                                   but wasn't allocated by HeapAlloc() or LocalAlloc().  
                                                                   Or that memory just has been freed by HeapFree(). 
下面就让我们利用VS2008中自带的IDE反汇编工具,来真实体验一下编译器和操作系统填充的字节内容。

让我们新建一个工程文件,例如命名为“PaddingByte.cpp”,代码如下:

#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
 int notInit;
 int isInit=100;
 
 char *pNChar;
 char *pChar=NULL;
 
int* pArr=new int[4];
 delete []pArr;

 

 return 0;
}

调试截图:

未初始化的两个变量:notInit为整型,占用4字节,pArr指针类型,占用4字节,其各自的地址如下:

各自的内存内容如下:

接下来看pArr指针,指向new操作符动态分配的4元素的整型数组。(此块内存在堆中分配)

看一下刚开始pArr的地址,和其内存中的内容:

0x003984b8是堆中的空间,其内容如下:

可以看到new申请的堆空间,初始化时CD字节填充,并且在分配空间的前后各有4字节的fd隔离字节。

进行了delete操作后,变化如下:

这个就是最后的有操作系统OS来填充的0xfeeefeee字节。

详细的内容可参见:《Debugging Windows Programs》一书。

转载于:https://my.oschina.net/zssure/blog/63397

http://www.lbrq.cn/news/1249219.html

相关文章:

  • 常州建网站/seo怎么做最佳
  • cc域名网站需要备案吗/深圳网络运营推广公司
  • 网站源码爬取工具/常用的网络推广方法
  • 一个人注册公司怎么注册/太原seo自媒体
  • 网站建设设计作品怎么写/百度站长工具如何使用
  • 网上商城网站系统/信阳百度推广公司电话
  • 合肥网站建设-中国互联/新网站友链
  • 免费简历模板word文档/网站关键字优化公司
  • 哪个网站建设公司/自己建网站的详细步骤
  • 常用ppt模板网站/能打开的a站
  • 如何让我的网站被百度收录/淘宝摄影培训推荐
  • 南充建网站/网站seo具体怎么做?
  • 做最好的导航网站/搜索引擎网站有哪些
  • VS2010做网站登录页面步骤/网站没有友情链接
  • 网络工程和软件工程哪个好/郑州网站优化渠道
  • 运河经济开发区建设局网站/站长工具的网址
  • 网站建设公司浙江/互联网广告营销是什么
  • 榆林做网站/防晒霜营销软文
  • 外国做问卷可以赚钱的网站/正规的推文平台
  • 网站建设业务员招聘/阿里云万网域名查询
  • 建站网站教程视频/淘宝运营培训机构
  • 海淀网站设计公司/郑州网站建设哪家好
  • 免费网站建设ppt/重庆seo技术教程博客
  • 烟台市建委网站/开发网站用什么软件
  • 网站建设说明/西安官网seo公司
  • 网站制作推广/镇江seo公司
  • 缪斯国际设计公司官网/鸡西seo
  • 大气蓝色企业网站模板/企业做推广有用吗
  • 网站建设和编程/华为seo诊断及优化分析
  • 医疗网站优化怎么做/搜索引擎优化网页
  • 构建一个简洁优雅的 PHP 参数验证器 —— php-schema-validator
  • 2025世界机器人大会开幕在即,英伟达/微美全息前瞻聚焦深化场景实践布局!
  • JavaScript 基础语法
  • 如何设计一个开放授权平台?
  • MATLAB实现的机载合成孔径雷达回波生成和处理
  • Electron-updater + Electron-builder + IIS + NSIS + Blockmap 完整增量更新方案