04 2009 档案

摘要:首先由一个程序引入话题: 1 // 环境:vc6+windowssp2 2 // 程序1 3 #include 4 5 ... 阅读全文
posted @ 2009-04-26 16:10 Devilmsg 阅读(255) 评论(0) 推荐(0)
摘要:Memory alignment翻译过来就是内存对齐。举一个简单的例子,int所占内存空间为4bytes,char为1byte,那么下面这个结构体 struct tMemAlign{ int i; char c[3]; int k; } 所占的内存空间似乎应该是4+... 阅读全文
posted @ 2009-04-26 16:01 Devilmsg 阅读(1102) 评论(0) 推荐(0)
摘要:Weekly edition Kernel ... 阅读全文
posted @ 2009-04-26 12:07 Devilmsg 阅读(702) 评论(0) 推荐(0)
摘要:在最近的项目中,我们涉及到了“内存对齐”技术。对于大部分程序员来说,“内存对齐”对他们来说都应该是“透明的”。“内存对齐”应该是编译器的“管辖范围”。编译器为程序中的每个“数据单元”安排在适当的位置上。但是C语言的一个特点就是太灵活,太强大,它允许你干预“内存对齐”。如果你想了解更加底层的秘密,“... 阅读全文
posted @ 2009-04-25 21:35 Devilmsg 阅读(210) 评论(0) 推荐(0)
摘要:内存对齐问题 一、什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的... 阅读全文
posted @ 2009-04-25 21:12 Devilmsg 阅读(198) 评论(0) 推荐(0)
摘要:下面我们简单看下硬盘的分区结构: 硬盘主引导扇区 = 硬盘主引导记录(MBR)+ 硬盘分区表(DPT),一共是512个字节,其中MBR是446,分区表一共64字节,然后是2个字节的结束标志。引导扇区存储在硬盘的0头0道1扇区,也就是Boot Sector。(如图1) 操作系统在启动时通过BIO... 阅读全文
posted @ 2009-04-04 16:39 Devilmsg 阅读(1031) 评论(0) 推荐(0)