#include
using namespace std;
//不安全的内存拷贝(当源内存地址与目标内存地址重叠时会产生错误)
void h_memcpy(char*src,char *dst,intsize){
if (src == NULL|| dst == NULL) {
return;
}...
分类:
其他好文 时间:
2014-10-08 18:20:05
阅读次数:
169
1 什么是联合?联合(Union)是一种特殊的类,一个联合中的数据成员在内存中的存储是互相重叠的。每个数据成员都在相同的内存地址开始。分配给联合的存储区数量是“要包含它最大的数据成员”所需的内存数。同一时刻只有一个成员可以被赋给一个值。下面我们来看看C++中如何表达联合://Code#01union...
分类:
编程语言 时间:
2014-10-07 21:26:44
阅读次数:
353
采用自定义的operator运算符实现自己的内存分配策略,在某些时候可以提高程序的效率。C++中的new运算符,具体工作流程如下:1.调用operator new申请原始内存2.调用place new表达式,执行类的构造函数3.返回内存地址而delete操作符的工作是:1.调用对象的析构函数2.调用...
分类:
其他好文 时间:
2014-10-05 19:54:28
阅读次数:
262
采用自定义的operator运算符实现自己的内存分配策略,在某些时候可以提高程序的效率。 C++中的new运算符,具体工作流程如下: 1.调用operator new申请原始内存 2.调用place new表达式,执行类的构造函数 3.返回内存地址 而delete操作符的工作是: 1.调用对象的析构...
分类:
其他好文 时间:
2014-10-02 02:25:11
阅读次数:
165
最近在研究C++ 左值 右值,搬运、收集了一些别人的资料,供自己记录和学习,若以后看到了更好的解释,会继续补充。(打“?”是我自己不明白的地方 )参考:《Boost程序库探秘——深度解析C++准标准库(第2版)》 9787302342731左值:一个可以用来存储数据的变量,有实际的内存地址(变量名)...
分类:
编程语言 时间:
2014-09-30 11:47:19
阅读次数:
236
Varnish---原理及应用原理如下图:用户请求到达Varnish服务器,经由网卡将请求接入进来到达tcp/ip协议栈解封装后由varnish将报文中请求资源的uri进行hash计算,而后根据计算的得到的键,到进程维持的hash表对比,若键相同,则根据相应的键去值指针所标识的,内存地址空间或是硬盘地址..
分类:
其他好文 时间:
2014-09-30 04:54:13
阅读次数:
552
1. 内核没开MMU之前有虚拟地址吗?没有MMU哪来的虚拟地址?
答:有,因为加载时地址和运行时地址不同导致的没打开MMU之前也会有虚实地址问题。
2. 加载时地址和运行时地址什么区别,为什么有这种区别?
答:加载时地址:把可执行文件放到物理内存的内存地址,例如把镜像放到0x80000000地址处,则加载时地址=0x80000000
运行时地址:镜像生成后的虚拟地址,由编译器和连接脚本决定。
内核镜像放到内存中时,放置的地址是任意的,所以要考虑到这种情况,在没打开mmu之前使用内存中的数据都要计算偏移...
分类:
其他好文 时间:
2014-09-29 13:17:21
阅读次数:
169
Virtual Memory and Memory Mapping Virtual memory was introduced in 1959. The main goal was to significantly simplify programming by abstracting the qu...
分类:
其他好文 时间:
2014-09-27 00:11:58
阅读次数:
314
一. 回顾指针概念: 今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧! 当我们程序如下申明变量: short int i; char a; short int * pi; 程序会在内存某地址空间上为各变量开辟空间,如下图所示。 内存地址→6 7 8 9 10 11 12...
分类:
其他好文 时间:
2014-09-25 01:28:08
阅读次数:
202
Linux对于内存的管理涉及到非常多的方面,这篇文章首先从对进程虚拟地址空间的管理说起。(所依据的代码是2.6.32.60)
无论是内核线程还是用户进程,对于内核来说,无非都是task_struct这个数据结构的一个实例而已,task_struct被称为进程描述符(process descriptor),因为它记录了这个进程所有的context。其中有一个被称为'内存描述符‘(memory de...
分类:
系统相关 时间:
2014-09-24 12:32:06
阅读次数:
365