- 博客(2)
- 收藏
- 关注
原创 C++内存对象布局
C++将内存划分为三个逻辑区域:堆、栈和静态存储区。我们称位于它们之中的对象分别为堆对象,栈对象以及静态对象。那么这些不同的内存对象有什么区别?堆对象和栈对象各有什么优劣?如何禁止创建堆对象或栈对象?针对这些问题对C++内存对象的布局作些简单介绍。 一.C++内存区域划分 a>栈:一般用于存放局部变量或对象,如我们在函数定义中用类似下面语句声明的对象:
2006-11-20 22:08:00 1356
原创 内存对齐与ANSI C中struct型数据的内存布局
许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。 当一种类型S的对齐模数与另一种类型T的对齐模数的比值是大于1的整数,我们就称类型S的对齐要求比T强(严格),而称T比S弱(宽松)。这种强制的要求一来简化了处理器
2006-11-20 16:08:00 1075 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人