看了 VC++中内存对齐 这篇文章,感觉说复杂了,根据我的总结,要算出结构体的内存大小和偏移量,只要清楚结构体各成员的内存布局就行了,下面介绍一下我总结的规则,有不对之处,欢迎回复。1、实际PACK值根据默认值、声明值、成员值的最小值得到。默认值在32位系统中为4,声明值则是使用#pragma pa...
分类:
其他好文 时间:
2014-08-24 18:02:42
阅读次数:
178
1、 单个虚拟继承
只是为了分析而已,实际中并没有太大的作用。跟虚拟继承相关的派生类对象的内存布局跟具体的编译器相关。
(1)VS编译器:无论有无虚函数,必然含有虚基类表指针。虚基类表中的内容为本类实例的偏移和基类实例的相对偏移值。如果有虚函数,那么基类的虚函数表跟派生类的虚函数表是分开的。
在内存布局上,地址从低到高,顺序如下:派生类的虚函数表指针+虚基类表指针+派生类的成员变量+“...
分类:
编程语言 时间:
2014-08-23 11:24:30
阅读次数:
357
1.定位和浮动:2.一切皆为框:块元素:div,h1,p……行元素:span,strong……position 属性值的含义:static元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。relative元素框偏移某个距离。元素仍保持其未定位...
分类:
Web程序 时间:
2014-08-21 17:05:44
阅读次数:
235
.col-md-pull-2 向右相对定位偏移量 .col-md-push-2 向左相对定位偏移量 .pull-left 左浮动 .pull-right 右浮动 改变大小写 通过这几个类可以改变文本的大小写。 Lowercased text.//转成小写 Uppercased text.//转成大写...
分类:
其他好文 时间:
2014-08-19 20:43:05
阅读次数:
277
纵览emacs 文档中描述,进缩风格实现只需要两步:第一步,根据内容与上下文找到对应的进缩风格的类别;第二步,依据进缩风格决定的表达式锚点的进缩偏移。下面我们对 cc-mode 风格定制加以说明。进缩风格的类别比如在 C 代码中,使用 C-c . 然后再使用两次 tab ,就可以出现多个内置风格供选...
分类:
其他好文 时间:
2014-08-18 23:27:33
阅读次数:
297
LEA是微机8086/8088系列的一条指令,取自英语Load effect address——取有效地址,也就是取偏移地址。在微机8086/8088中有20位物理地址,由16位段基址向左偏移4位再与偏移地址之和得到。地址传送指令之一。取偏移地址指令指令格式如下:LEA reg16,memLEA指令...
分类:
其他好文 时间:
2014-08-18 16:13:02
阅读次数:
411
图像的剪裁方法,从中间剪裁返回剪裁后的左右两页,方法实现如下: 1 /// 2 /// 图片裁剪,返回左右两页 3 /// 4 /// 图片 5 /// 从中间剪裁时左边图片向右偏移量 6 /// 从...
分类:
其他好文 时间:
2014-08-18 16:08:42
阅读次数:
169
逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分...
分类:
其他好文 时间:
2014-08-18 15:47:42
阅读次数:
173
程序如何执行: CPU先找到程序在内存中的入口地址 -- 地址总线 (8086有20根地址总线,每一根可以某一时传0或1, 20位的二进制数字可以表示的不同的数字的个数是2^20=1048576 1048576 byte/1024=1024 KB (注:8bit(位)=1Byte(字节)1024By...
分类:
其他好文 时间:
2014-08-18 15:43:22
阅读次数:
192
offsetof是求类的成员变量的偏移量,如果成员变量是类定义的第一个变量,那他的偏移量应该是0.但是引入继承之后,就要额外考虑了。下面的代码说明了这个问题:#define AFX_NOVTABLE//#define AFX_NOVTABLE __declspec(novtable)class AF...
分类:
其他好文 时间:
2014-08-14 19:40:09
阅读次数:
290