自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(4)
  • 收藏
  • 关注

转载 二级指针做参数

程序1: void myMalloc(char *s) //我想在函数中分配内存,再返回 {      s=(char *) malloc(100); } void main() {      char *p=NULL;      myMalloc(p);    //这里的p实际还是NULL,p的值没有改变,为什么?      if(p) free(p); } 程序2:void

2011-06-09 00:11:00 2243

原创 linux内核对内存的管理和使用

首先当程序需要一块不存在的内存时(也即页表项中已经标记出相应的页面不在内存中),CPU通过80386的页错误异常中断来实现。当一个进程引用一个不存在的内存页面时就会产生一个页错误中断,并把引起中断的线性地址保存在CR2寄存器中(便于高效快速访问),因此处理该中断的程序就可以知道页异常的确切地址,从而可以把进程要求的页面从二级存储空间(比如硬盘)加载到内存中。如果此时物理内存已经被占用,则可以借助二

2011-06-08 17:45:00 664

原创 C语言的几个问题

1.函数调用压入堆栈的情况:void add(int a,int b, int c){   int i,j;}在函数调用时将其参数和返回地址压入堆栈,堆栈中存储的函数调用信息成为调用结构,为了让函数找到调用结构,提供了基指针寄存器(BP)将其赋给结构的起始地址同时将局部变量压入堆栈。函数参数的压入堆栈的顺序是从右向左,局部变量的压入顺序是声明的顺序。  2.

2011-06-08 10:05:00 224

原创 0.11linux内存管理

linux内存管理程序主要有两个功能:1.实现分段和分页机制。 2.内存的寻址保护机制。通过分段虚拟地址转换为线性地址,通过分页线性地址转换为物理地址。一个系统可以有多个页目录表,但某一时刻只有一个页目录表可用,当前页目录表是有在CPU的CR3确定的,它存储着当前页目录表对应的物理地址。(0.11内核只用到了一个页目录表)。一个页目录表占用一个页面,并用4个字节寻址一个页目录项,这样一个页目录表可以寻址1024个页目录项。页目录项同理可以寻址1024个页面。这样一个页目录表可以寻址1024*1024*409

2011-06-01 12:34:00 599

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除