局部变量放在栈里的
堆区,也叫自由存储区.
为什么说在堆上分配内存比在栈上分配内存慢?堆空间的开辟需要用系统函数,栈上直接修改指针
堆空间的管理需要系统记帐,栈上的空间可以由编译器管理或是保存在某个处理器寄存器中。
堆空间的释放需要系统管理,栈上的释放可以直接丢弃。堆空间需要通过栈上的指针间接引用,所以访问会慢
记得在apue2上面看到关于线程中有这样一段话,大致意思是,一个线程有自己的堆栈,可以在堆栈上分配内存,比如说一个结构体,如果这个线程调用了pthread_exit()返回这个结构体指针的时候之后要特别的小心,因为很有可能这个结构体里面的成员值发生改变,这个可以理解,因为同一个进程所有线程的资源是共享的,当这个线程退出之后那部分以前用过的堆栈很可能被其它线程占用,但同时又说如果malloc就不会出现这样的问题,
比如,在栈上分一个int,只要esp-4就可以了,
在堆上系统要记录被分配内存的信息,以便释放
BTW:
栈有序
堆无序
第一,恢复记账前状态的 *** 作指导。恢复记账前状态的 *** 作步骤为:以会计主管身份注册总账系统——在总账系统中的“月末处理”功能菜 单下点击“试算并对账”进人对账界面——选择拟取消记账月份,按下“ctrl+H”键, 输入主管口令后,即可激活恢复记账前状态功能——在总账系统的二级菜单下的“凭 知识是浩瀚的海洋 ------精品word 文档 值得下载------ 证”菜单下可见“恢复记账前状态”功能。单击此功能即可按要求恢复最近一次或本月初的记账前状态。第二,取消凭证签字的 *** 作指导。取消凭证签 字包括取消主 管的审核签字和出纳的签字。取消凭证的签字必须由原来相对应的 *** 作人员进行 *** 作, *** 作方法同原来的审核和签字方法,只需在原签字界面点击“取消”或“成批 取消签字”即可完成逆向 *** 作。
第三,取消结账的 *** 作指导。取消结账的步骤为: 以会计主管身份注册总账系统在总账系统中的“月末处理”功能菜单下点击“月末 结账”进入结账向导一选择结账月份,同时按下“Ctrl+Shift+F6”键激活“取消结 账”功能。系统导出取消结账的“确认口令”。确认口令后,在“结账”功能界面上 直接点“取消”结账并退出结账界面,即完成了取消结账功能。
ppt 1、取消结账(主管);2、取消记账(主管); 1)激活取消记账状态; 2)恢复记账处理; 3、取消审核、出纳签字; 4、修改凭证。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)