摘要:
内存对齐的规则以及作用 Posted on 2009-03-16 09:36 蜗牛先生 阅读(23409) 评论(19) 编辑 收藏 引 首先由一个程序引入话题: 1 //环境:vc6 + windows sp2 2 //程序1 3 #include 4 5 using namespace std; 6 7 struc... 阅读全文
摘要:
一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2. 对齐的作 阅读全文
摘要:
struct内存对齐:gcc与VC的差别 内存对齐是编译器为了便于CPU快速访问而采用的一项技术,对于不同的编译器有不同的处理方法。 Win32平台下的微软VC编译器在默认情况下采用如下的对齐规则: 任何基本数据类型T的对齐模数就是T的大小,即sizeof(T)。比如对于double类型(8字节), 阅读全文
摘要:
1.首先来说,函数指针 就是函数的指针 2.指针函数,就是指针的函数。也就是返回值是个指针 一、指针 【1】指针 1 指针变量:用于存放地址量的变量 2 地址常量 int a = 20; int *p = &a; 【2】运算符 1 & 2 *(指针解引用):通过地址获取其内容 3 []:只针对于指针 阅读全文
摘要:
C语言中的结构体是一个小难点,下面我们详细来讲一下:至于什么是结构体,结构体为什么会产生,我就不说了,原因很简单,但是要注意到是结构体也是连续存储的,但要注意的是结构体里面类型各异,所以必然会产生内存对齐的问题。也就是内存里面会有空档。 1.结构体的定义和赋值 2.定义结构体变量的俩种方法: 3.结 阅读全文
摘要:
【1】shell脚本 1 shell命令 2 控制语句(新的语法) (Shell命令的有序集合) 【2】创建shell脚本文件 1 1.sh 2 chmod 777 1.sh 3 执行 rw- rw- r--110 110 1006 6 4 rwx rwx rwx111 111 1117 7 7 【 阅读全文
摘要:
今天,我总算搞清楚"回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别了。 1. 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正 阅读全文
摘要:
windowsx86内存管理 1.物理地址(physical address) 用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。 ——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到最大空量逐 阅读全文
摘要:
1 平台 转http://blog.csdn.net/misskissc/article/details/43063419 1.1 硬件 Table 1. 硬件(lscpu) Architecture: i686(Intel 80386) Byte Order: Little Endian 1.2 阅读全文
摘要:
今天下午写篇博客吧,分析分析c语言中函数调用的本质,首先我们知道c语言中函数的本质就是一段代码,但是给这段代码起了一个名字,这个名字就是他的的这段代码的开始地址 这也是函数名的本质,其实也就是汇编中的标号。下面我们会接触到一些东西 比如 eip 就是我们常常说的程序计数器,还有ebp和esp (这里 阅读全文