自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

转载 linux 进程地址空间的探究

我们知道,在32位机器上linux操作系统中的进程的地址空间大小是4G,其中0-3G是用户空间,3G-4G是内核空间。其实,这个4G的地址空间是不存在的,也就是我们所说的虚拟内存空间。那虚拟内存空间是什么呢,它与实际物理内存空间又是怎样对应的呢,为什么有了虚拟内存技术,我们就能运行比实际物理内存大的应用程序,它是怎么做到的呢?呵呵,这一切的一切都是个迷呀,下

2013-09-26 15:18:56 830

原创 C/C++中常见的与存储器有关的错误

这些都是最近在《深入理解计算机系统》中看到的,在项目中确实很实用1.间接引用坏指针在进程的虚拟地址空间中有较大的洞,没有映射任何有意义的数据,如果我们试图间接引用一个指向这些洞的指针,那么操作系统就会以段异常来终止我们的程序。而且,虚拟存储器的某些区域是只读的,试图写这些区域将造成以保护异常终止这个程序。eg:   scanf("%d", &val)   然而,对于C程序员初学者而言(

2013-09-17 15:56:14 820

原创 虚拟存储器

为了更加有效地管理存储器并且少出错,现在系统提供了一种对主存的出想概念,叫做虚拟存储器。虚拟存储器是硬件异常、硬件地址翻译、主存、磁盘文件和内核文件的完美交互。它为每个进程提供了一个大的、一致的、私有地址空间,通过一个很清晰的机制,虚拟存储器提供了三个重要的能力:它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高效

2013-09-16 14:46:54 983

原创 静态链接和动态链接

大家都知道应用程序有两种链接方式,一种是静态链接,一种是动态链接,这两种链接方式各有好处。程序的静态连接还是动态连接是根据编译器的连接参数指定的。所谓静态链接就是在编译链接时直接将需要的执行代码拷贝到调用处,优点就是在程序发布的时候就不需要的依赖库,也就是不再需要带着库一块发布,程序可以独立执行,但是体积可能会相对大一些。(所谓库就是一些功能代码经过编译连接后的可执行形式。)

2013-09-16 11:32:50 1059

原创 Android JNI回调

为什么本地创建的线程pthread_create   不能用于回调  而一定要用create_thread_callback该函数来实现而该函数调用的又是什么(pthread_t)AndroidRuntime::createJavaThread最近看到一个函数AttachCurrentThread  觉得能分析这个问题具体详解  http://developer.android

2013-09-05 16:27:55 776

原创 UltraEdit for Linux Keygen

在Linux端编程最郁闷的就是软件工具太匮乏,并不是每个人都能将vim玩的那么溜。平时在Windows上使用UltraEdit发现也有Linux版本,在网上找到对应的注册机,激活后使用过程相当爽。下载地址 下载地址 下载地址

2013-09-03 09:45:21 4143

空空如也

空空如也

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

TA关注的人

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