内存分配以及管理
文章平均质量分 73
mylinx
这个作者很懒,什么都没留下…
展开
-
内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区(c++)(一)
1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放4.另外还有一个专门放常量的地方。- 程序结束释放转载 2011-10-21 16:44:37 · 740 阅读 · 0 评论 -
内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区(c++)(二)
new/delete究竟做了些什么? 在理解这个问题之前,我们先看一下下面的这段程序,有这么一个程序段: class A { public: A() { cout ~A(){ cout private: int i; };转载 2011-10-21 16:57:53 · 987 阅读 · 0 评论 -
c++中各种变量所占字节数(windows平台下)
程序:#include "stdafx.h"#include "iostream"using namespace std;int _tmain(int argc, _TCHAR* argv[]){ cout cout cout cout cout cout cout return 0;} 结果:原创 2011-10-21 17:11:59 · 2174 阅读 · 0 评论 -
sizeof运算符以及内存对齐
sizeof Operatorsizeof expression The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type转载 2011-11-24 10:19:11 · 834 阅读 · 0 评论 -
#Pragma Pack(n)与内存分配
#pragma pack(n)解释一:每个特定平台上的编译器都有自己的默认“对齐系数”(也叫对齐模数)。程序员可以通过预编译命令#pragma pack(n),n=1,2,4,8,16来改变这一系数,其中的n就是你要指定的“对齐系数”。 规则: 1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,原创 2011-11-24 11:50:38 · 31756 阅读 · 5 评论 -
Big Endian 和 Little Endian
谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存储数据,而x86系列则采用little endian方式存储数据。那么究竟什么是big endian,什么又是 little endian呢? 其实big endian是指低地址存放最高有效字节(MSB),而li转载 2011-12-05 10:34:01 · 711 阅读 · 0 评论