码迷,mamicode.com
首页 >  
搜索关键字:地址空间    ( 1916个结果
指针强转和void*
C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值。不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个地址就是硬件访问的依据,而名字只是提供给程序员的一种记住这个地址的方便一点的方法。但是,不同的变量在机器中都是0-1代码,所以,我们不能简单的通过检...
分类:其他好文   时间:2014-09-26 00:54:18    阅读次数:308
指向指针的指针做函数的参数(转载)
一. 回顾指针概念: 今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧! 当我们程序如下申明变量: short int i; char a; short int * pi; 程序会在内存某地址空间上为各变量开辟空间,如下图所示。 内存地址→6 7 8 9 10 11 12...
分类:其他好文   时间:2014-09-25 01:28:08    阅读次数:202
CLR 内存分配和垃圾收集
目录内存分配垃圾收集如何分析内存问题非托管资源参考文献注释NET提供了一个运行时环境 CLR,负责资源管理(内存分配和垃圾收集),通过垃圾回收器(Garbage Collector)—GC,对内存自动回收。每当您创建新对象时,CLR都会从托管堆为该对象分配内存。 只要托管堆中有地址空间可用,运行时就...
分类:其他好文   时间:2014-09-24 21:37:07    阅读次数:258
linux 内存地址空间管理 mm_struct
Linux对于内存的管理涉及到非常多的方面,这篇文章首先从对进程虚拟地址空间的管理说起。(所依据的代码是2.6.32.60) 无论是内核线程还是用户进程,对于内核来说,无非都是task_struct这个数据结构的一个实例而已,task_struct被称为进程描述符(process descriptor),因为它记录了这个进程所有的context。其中有一个被称为'内存描述符‘(memory de...
分类:系统相关   时间:2014-09-24 12:32:06    阅读次数:365
【Linux】fork
fork函数调用特点 一次调用,两个返回 为什么? 每个进程在各自的地址空间中返回---->站在Linux内核角度思考fork调用fork是一个系统调用,在Linux内核中完成fork返回值为什么设计成pid>0是父进程, =0是子进程? 一个父进程可以有N个子进程,父亲找儿子的...
分类:系统相关   时间:2014-09-23 18:56:35    阅读次数:240
C程序内存分配
在多任务操作系统中的每一个进程都运行在一个属于它自己的内存沙盘中。这个沙盘就是虚拟地址空间(virtual address space),在32位模式下它总是一个4GB的内存地址块。这些虚拟地址通过页表(page table)映射到物理内存,页表由操作系统维护并被处理器引用。每一个进程拥有一套属于它...
分类:其他好文   时间:2014-09-22 23:43:33    阅读次数:198
进程间通信_05共享内存_System V实现
一 概念 内核分配的一块存储去,多个进程可以将物理内存映射到进程的虚拟地址空间,从而实现对内存的直接操作,是效率最高的IPC。 消息队列和管道都有在用户地址空间和内核空间相互复制产生的开销。 二 操作函数 1 创建共享内存 #include #include int shmget( key_t key, //代...
分类:其他好文   时间:2014-09-22 15:56:52    阅读次数:312
【转】VC如何调用DLL文件
调用DLL,首先需要将DLL文件映像到用户进程的地址空间中,然后才能进行函数调用,这个函数和进程内部一般函数的调用方法相同。Windows提供了两种将DLL映像到进程地址空间的方法:1. 隐式的加载时链接这种方法需要DLL工程经编译产生的LIB文件,此文件中包含了DLL允许应用程序调用的所有函数的列...
分类:其他好文   时间:2014-09-22 15:48:32    阅读次数:225
1pipe管道
?? 1进程间通信 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不 到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用 户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程 间通信(IPC,InterProcess Communication)。 2pipe管...
分类:其他好文   时间:2014-09-21 03:11:39    阅读次数:390
linux系统调用fork()总结(二)
一,进程复制(或产生)      使用fork函数得到的子进程从父进程的继承了整个进程的地址空间,包括:进程上下文、进程堆栈、内存信息、打开的文件描述符、信号控制设置、进程优先级、进程组号、当前工作目录、根目录、资源限制、控制终端等。 子进程与父进程的区别在于: 1、父进程设置的锁,子进程不继承(因为如果是排它锁,被继承的话,矛盾了) 2、各自的进程ID和父进程ID不同 3、子进程的未决...
分类:系统相关   时间:2014-09-20 16:51:29    阅读次数:447
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!