您的位置:首页 > Web前端

第一篇 工作之余的学习小细节(一)进程及其空间

2016-12-22 17:47 267 查看
1.什么是一个进程?

  (编译器)源代码-->(预处理器和编译器)目标程序-->(链接)可执行文件-->(运行)进程

2进程空间有几大区域,各区域分别是什么?每个区域储存什么?

  进程有4个区域,分别是代码区,全局区,栈区,堆区。

  代码区:源程序代码,常量。

  全局区:全局变量,static修饰的局部变量。

  栈区:局部变量,形参。

  堆区:程序员自己开辟的空间,由malloc开辟空间,free释放,如果程序员只是开辟空间而不对空间释放的话,就会造成内存泄漏。

3.这几个空间的内存分配大概的比例是多少?

  举一个例子,比如,我们有8GB内存,操作系统占了4GB,剩下的4GB里面 代码区大概能占到100M,全局区大概占1M 栈区大概占100M,剩下的都分配给了堆空间

所以,我们在写iOS程序时,大多程序都是在堆区上开辟的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS OC 开发 前端 工作