最近开始想稍微深入一点地学习Linux内核,主要参考内容是《深入理解Linux内核》和《深入理解Linux内核架构》以及源码,经验有限,只能分析出有限的内容,看完这遍以后再更深入学习吧。1,内存地址逻辑地址:包含在机器语言中用来指定一个操作数或一条指令的地址。线性地址:一个32位无符号数,用于直接映...
分类:
系统相关 时间:
2014-07-20 08:29:46
阅读次数:
476
什么是mmap mmap对于c程序员很熟悉,对于java程序员有点陌生。简而言之,将文件直接映射到用户态的内存地址,这样对文件的操作不再是write/read,而是直接对内存地址的操作。 在c中提供了三个函数来实现 [list]mmap 进行映射munmap 取消映射msync 进程在映射空间的对共...
分类:
编程语言 时间:
2014-07-19 16:37:03
阅读次数:
407
《C++ Primer Plus》学习笔记3
第8章 函数探幽
========================================================================
1、C++内联函数和常规函数
1)常规函数调用使程序跳到另一个地址(函数地址),并在函数结束时返回。具体过程是执行到函数调用指令时,程序将在函数调用后立即储存指令的内存地址,...
分类:
编程语言 时间:
2014-07-18 21:36:04
阅读次数:
334
服务套和客户机的信息函数1、字节转换函数 在网络上面有着许多类型的机器,这些机器在表示数据的字节顺序是不同的, 比如i386芯片是低字节在内存地址的低端,高字节在高端,而alpha芯片却相反. 为了统一起来,在Linux下面,有专门的字节转换函数. unsigned long int htonl(u...
分类:
系统相关 时间:
2014-07-18 17:31:10
阅读次数:
294
1.语言中变量的实质要理解C指针,我认为一定要理解C中“变量”的存储实质, 所以我就从“变量”这个东西开始讲起吧!先来理解理解内存空间吧!请看下图:内存地址→ 6 7 8 9 10 11 12 13--------------------...
分类:
编程语言 时间:
2014-07-17 23:17:22
阅读次数:
299
操作数类型: 1. direct operand(直接操作数),是一个变量名, 它表示的是变量的地址。 2. direct-offset operand(直接-偏移操作数), 是变量名加上一个偏移值, 产生一个新的偏移地址,访问没有标号的内存地址。 3. indirect operand(间接...
分类:
其他好文 时间:
2014-07-16 17:55:28
阅读次数:
153
1.memcpy函数的原型: void* memcpy(void* dest,cosnt void* src,size_t n); 返回值:返回dest; 功能:从源内存地址src拷贝n个字节到dest内存地址. 这里必须要求源地址的内存和目标地址的内存没有覆盖,如果有覆盖结果是未定义的.#incl...
分类:
编程语言 时间:
2014-07-14 21:41:00
阅读次数:
274
在传统的操作系统中,进程拥有独立的内存地址空间和一个用于控制的线程。但是,现在的情况更多的情况下要求在同一地址空间下拥有多个线程并发执行。因此线程被引入操作系统。为什么需要线程? 如果非要说是为什么需要线程,还不如说为什么需要进程中还有其它进程。这些进程中包含的其它迷你进程就是线程。 线程之所以说是...
分类:
编程语言 时间:
2014-07-14 10:58:29
阅读次数:
213
最近在复习C#基础这里,发现指针运算方式跟引用类型运算方式很相像。指针里面存放的是表示内存地址的一段整数,所以任何整数类型指针之间都可以相互转换,因此带来了不安全性。 long longint = 12; long* b = &longin...
分类:
其他好文 时间:
2014-07-13 12:21:27
阅读次数:
195
1,管理运行阶段内存空间分配malloc()/new;int *pn = new int(存储的类型,内存根据此设定相应存储字节的内存)pn是内存地址(所以 当声明一个变量的指针变量时没初始化,声明后再来初始化则pn 接收的应该是变量在内存中的地址 &VariableName);*pn是存储在内存的...
分类:
其他好文 时间:
2014-07-12 15:14:59
阅读次数:
167