linux C复习:进程空间组成
来源:互联网 发布:易语言手机版远控源码 编辑:程序博客网 时间:2024/04/30 10:20
当一个程序被调入内存中执行时,会变成一个进程,此进程的空间被划分成以下几个区域:
1)代码区:
代码区是只读的,程序代码会被读入此区,程序执行期间执行的就是代码区中的代码。
2)全局区:
除了代码区外,其它区都是可读可写的,全局区用来给全局变量分配空间
3)BSS段:
紧接着全局区是BSS段,给没有初始化的全局变量赋初始值0
4)堆区:
使用malloc、new... 分配的空间(也叫自由区)
5)栈区:
给局部变量(自动变量)分配空间的地方
#include <stdio.h>#include <stdlib.h>int i1 = 10; //全局区int i2 = 20; //全局区int i3; //BSS段static int i4 = 40; //全局区const int i5 = 50; //代码区void func(int i6) //i6栈区{ int i7 = 70; //栈区 static int i8 = 80; //全局区 const int i9 = 90; //栈区 char *str = "abcdef"; //代码区 char str2[] = "ABCDEF"; //栈区 int *pi = malloc(4); //堆区 printf("========================\n"); printf("i6 = %p\n",&i6); printf("i7 = %p\n",&i7); printf("i8 = %p\n",&i8); printf("i9 = %p\n",&i9); printf("str = %p\n",str); printf("str2 = %p\n",str2); printf("pi = %p\n",pi);}int main(){ printf("i1 = %p\n",&i1); printf("i2 = %p\n",&i2); printf("i3 = %p\n",&i3); printf("i4 = %p\n",&i4); printf("i5 = %p\n",&i5); func(22); while(1);}
0 0
- linux C复习:进程空间组成
- linux进程复习笔记
- Linux--进程复习
- linux下c程序进程地址空间分布
- Linux - 进程(一) 进程空间
- linux进程空间
- Linux进程地址空间
- Linux进程地址空间
- LINUX进程地址空间
- linux 进程地址空间
- linux进程空间
- Linux进程地址空间
- Linux进程地址空间
- Linux进程空间分配
- Linux进程地址空间
- linux 进程地址空间
- LINUX进程地址空间
- linux进程地址空间
- tar命令排除.svn .git等目录
- PCA的应用示例
- Step By Step(C++模板Trait)
- An internal error occurred during: "Add Deployment".
- Android带图片的textView
- linux C复习:进程空间组成
- StringBuilder有多消耗性能?
- Linux Page Cache机制
- OCP 1Z0 053 243
- Reverse Words in a String
- 关于html src中文路径解决方法
- Android程序运行过程
- poj3393
- Hive join操作小结