C++中堆和栈的完全解析内存分配方面:堆: 操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删 除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内存空间中的首地址处记录本次分配的大小,这样代码...
分类:
其他好文 时间:
2014-08-19 16:11:04
阅读次数:
228
变量的 直接访问 方式 按变量的地址(变量名/变量的外号) 存取变量的值 变量的 间接访问 方式 将变量的地址放在另一个内存单元中,先到另一个内存单元中取得变量的地址,再由变量的地址找到变量并进行数据存取 变量Pointer是一个指针变量(本身是一个变量),它存储的是另一个变量的内存地址(i的内存地...
分类:
编程语言 时间:
2014-08-16 17:04:00
阅读次数:
225
说起值类型和引用类型,大家都知道这么个事,但实际上String虽然是值类型,却表现 的有点特别 话说string是引用类型,str1和str2都指向同一块内存地址,修改了str1的值,按理str2取值时也会受到影响! 但实际上我们会发现,修改str1值之后,str2的值并没有受到影响 这是因为.Ne...
分类:
其他好文 时间:
2014-08-16 12:23:40
阅读次数:
236
当操作系统因为没有足够的内存而将一些虚拟内存写到磁盘就会发生内存交换,内存交换对操作系统中运行的进程是透明的,只有操作系统知道特定的虚拟内存地址是在物理内存还是磁盘上?虚拟内存写到磁盘上该如何理解?操作系统通常允许对虚拟内存和io进行一些控制,我们提供过一些gun/linux上控制它们的办法,最基本...
分类:
其他好文 时间:
2014-08-15 07:10:27
阅读次数:
195
1. 句柄概念 句柄是Windows程序中的概念,本质是一个4字节(64位程序中为8字节)整数值,用来标示不同实例。 由于数据在内存地址中是变动的,为管理内存,windows引入句柄概念。2. 句柄与普通指针 指针包含的是引用对象的内存地址,而句柄则是由系统所管理的引用标识,该标识可以被系...
分类:
其他好文 时间:
2014-08-15 01:13:47
阅读次数:
271
MyCCL复合特征码定位系统介绍这是一个主要定位木马病毒的特征码的工具。MYCCL是CLL的改进版,可以进行多重特征码的定位,针对金山等杀软的反向定位等功能,并实现自动化代码定位和显示。myccl是定位特征码用的,定位完得你手动修改最好是先用OC转换为内存地址,然后再用OD加载,修改特征码,这样容易...
分类:
其他好文 时间:
2014-08-14 23:14:56
阅读次数:
254
图4-2展示了已加载了CLR的一个Microsoft Windows进程。在这个进程中,可能存在多个线程。一个线程创建时,会分配到一个1MB大小的栈。这个栈的空间用于向方法传递实参,并用于方法内部定义的局部变量。 栈是从高位内存地址向低位地址构建的。在图中,假设线程已经执行了一些代码(栈顶部的...
分类:
其他好文 时间:
2014-08-14 13:30:38
阅读次数:
227
http://blog.csdn.net/ghevinn/article/details/37651149(反汇编题目需要分析)4、取出内存区域的值在取某内存地址开始的一个区域的值的时候,取出的值取决于用来取值的类型,譬如int为4个byte,char为1个byte,程序如:void main(){...
分类:
其他好文 时间:
2014-08-13 00:44:04
阅读次数:
215
1.在访问端口的时候,CPU通过端口地址来定位端口。因为端口所在的芯片和CPU通过总线相连,所以,端口地址和内存地址一样,通过地址总线来传送。2.在PC系统中,CPU最多可以定位64KB个不同的端口,则端口地址的范围为0~655353.对端口的读写不能用mov,push、pop等内存读写指令。端口的...
分类:
其他好文 时间:
2014-08-12 21:42:44
阅读次数:
266
一、什么是空指针和野指针1.空指针1> 没有存储任何内存地址的指针就称为空指针(NULL指针)2> 空指针就是被赋值为0的指针,在没有被具体初始化之前,其值为0。下面两个都是空指针:1 Student *s1 = NULL;2 3 Student *s2 = nil;2.野指针"野指针"不是NULL...
分类:
其他好文 时间:
2014-08-12 16:57:14
阅读次数:
223