第一篇 工作之余的学习小细节(一)进程及其空间
2016-12-22 17:47
267 查看
1.什么是一个进程?
(编译器)源代码-->(预处理器和编译器)目标程序-->(链接)可执行文件-->(运行)进程
2进程空间有几大区域,各区域分别是什么?每个区域储存什么?
进程有4个区域,分别是代码区,全局区,栈区,堆区。
代码区:源程序代码,常量。
全局区:全局变量,static修饰的局部变量。
栈区:局部变量,形参。
堆区:程序员自己开辟的空间,由malloc开辟空间,free释放,如果程序员只是开辟空间而不对空间释放的话,就会造成内存泄漏。
3.这几个空间的内存分配大概的比例是多少?
举一个例子,比如,我们有8GB内存,操作系统占了4GB,剩下的4GB里面 代码区大概能占到100M,全局区大概占1M 栈区大概占100M,剩下的都分配给了堆空间
所以,我们在写iOS程序时,大多程序都是在堆区上开辟的。
(编译器)源代码-->(预处理器和编译器)目标程序-->(链接)可执行文件-->(运行)进程
2进程空间有几大区域,各区域分别是什么?每个区域储存什么?
进程有4个区域,分别是代码区,全局区,栈区,堆区。
代码区:源程序代码,常量。
全局区:全局变量,static修饰的局部变量。
栈区:局部变量,形参。
堆区:程序员自己开辟的空间,由malloc开辟空间,free释放,如果程序员只是开辟空间而不对空间释放的话,就会造成内存泄漏。
3.这几个空间的内存分配大概的比例是多少?
举一个例子,比如,我们有8GB内存,操作系统占了4GB,剩下的4GB里面 代码区大概能占到100M,全局区大概占1M 栈区大概占100M,剩下的都分配给了堆空间
所以,我们在写iOS程序时,大多程序都是在堆区上开辟的。
相关文章推荐
- 第一篇:工作之我见一-----------细节决定成败(1) 推荐
- Shell脚本学习笔记(八)--进程管理和工作控制
- Nginx学习(16)—worker进程循环工作
- vs2013+node.js 学习javascript 第一篇:准备工作+Hello World
- Linux内核源码学习之进程切换细节整理
- Linux学习总结—内存结构、启动和进程空间
- 学习笔记--进程的三种基本状态及其转换
- Linux学习记录--工作管理与进程管理
- Nginx学习笔记(十六):worker进程的循环工作
- JAVA学习之Ecplise IDE 使用技巧(1)第一章:我的地盘我做主,工作空间
- Shell脚本学习笔记(八)--进程管理和工作控制
- 学习内核注射DLL到用户态进程空间
- LINUX编程学习笔记(十四) 创建进程与 父子进程内存空间
- Nginx学习笔记(十七):master进程的循环工作
- 工作学习规划及其个人感悟
- Linux学习总结—内存结构、启动和进程空间
- Eclipse开发工具的一些小知识,Eclipse切换工作空间的办法!(记录下来,希望与大家一起分享,共同学习吧!)
- ROS的学习(五)在工作空间中构建和使用catkin包
- 安全第一篇:学习及工作目标
- Android(java)学习笔记189:eclipse 导入项目是提示:某些项目因位于工作空间目录中而被隐藏。