自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vs2010 查看c++类虚函数表及内存布局

近来学习设计模式,其中设计到大量的虚函数使用。通过查资料看到Visual Studio有提供一个查看类虚函数表的方法,试了一下觉得很好用,因此总结一下。本人使用的VS版本为vs2010,通过网上资料看各个版本使用该方法的方式基本一致,大家可以自己试一试。1、vs2010下查看类的虚函数首先打开visual studio提供的命令提示工具Visual Studio Command Promp...

2019-05-09 11:01:07 890

原创 磁盘存储原理

最近学习linux内核源码,读到操作系统boot引导相关内容时,对于磁盘相关原理介绍引起我的兴趣。阅读相关资料后,对磁盘工作原理做一个总结,参考资料为深入理解计算机系统(CSAPP)。磁盘是广泛应用的数据存储设备,存储容量比较大,相比RAM等存储设备价格低,读写速度慢,从磁盘读信息的时间是毫秒级,是DRAM的十万倍,SRAM的一百万倍,后面会对磁盘读取数据耗时计算进行详细的介绍。1、磁盘构...

2019-04-19 15:43:14 10753 1

原创 linux下malloc与free机制解析

最近在阅读linux源码,版本为早期的0.11。读到内存动态分配的部分时,想起以前面试的时候遇到的一个问题:free释放内存的时机是什么?是调用时立即释放还是在别的某个时机释放?对于这个问题,之前查资料并未找到比较详细的解释。阅读这一部分内容后终于对这一问题有了答案,因此对这一问题进行总结。c语言函数库提供了malloc函数来进行内存分配,分配的内存在进程管理的堆上,这一部分内存由程序员自己管...

2019-04-16 20:45:24 302

原创 gdb用法总结

本文对gdb常见的命令进行总结,并会持续更新。一、gdb使用前置条件:编译时加入debug信息。 gcc/g++是在编译时加入-g,其他语言请自行百度。值得注意的是,-g分4个等级:-g0等于不加-g。即不包含任何信息 -g1只包含最小信息,一般来说只有你不需要debug,只需要backtrace信息,并且真的很在意程序大小,或者有其他保密/特殊需求时才会使用-g1。 –g...

2019-04-03 10:44:05 418

原创 unix环境文件类型

1、普通文件:(regular file) 常见的文件类型,文件为二进制还是文本对于系统内核是无所谓的2、目录文件:这种文件包含了其他文件的名字及指向这种文件有关的信息指针,对于目录文件有读权限的进程都可以访问这个文件,但只有系统内核才能写这种文件3、字符特殊文件(character specila file)这种文件用于系统中的某种类型的设备4、块特殊文件(block special...

2019-04-02 15:24:44 292

原创 存储器内存分配函数对比

对比AnsiC中三个用于存储器动态分配的函数1、malloc:分配指定字节的存储区,存储区初始值不确定#include <stdlib.h>void *malloc(size_t size); 成功返回非空指针,失败返回空指针2、calloc:为指定长度的对象,分配能够容纳其指定个数的存储空间,空间每一位都初始化为0.如下代码是分...

2019-04-02 15:18:25 131

原创 unix 环境高级编程第3章总结(1)

3.1 前言unix环境下的I/O函数主要功能为打开文件、读文件、写文件等,主要包括open、close、read、write、lseek。本章的函数被称之为不带缓存的I/O——不带缓存是之每个read和write都调用一个系统调用。本章将对文件I/O相关的幻术,多进程之间共享文件等问题进行讨论。3.2 文件描述符文件描述符是一个非负的整数,所有打开的文件由内核来引用。UNIX she...

2018-12-03 16:34:07 109

原创 unix环境编程 文件I/O

unix系统文件共享unix 系统支持不同进程共享打开文件,下面解说内核用于所有I/O的数据结构内核使用了三种数据结构,它们之间的关系决定了文件共享方面一个进程对另外一个进程可能产生的影响每个进程在进程表中有一个记录项,每个记录项中有一张打开文件的描述符的表,每个描述符占一项,与每个描述符相关联的是:(a)文件描述符 (b)指向文件表项(内核维护的文件表)的指针 内核为所有打开文件...

2018-09-14 19:42:43 134

原创 C++深拷贝与浅拷贝的区别

    博主近来在找实习,需要准备面试,在此总结一些C++常考的知识点。1.深拷贝与浅拷贝1.当函数的参数为对象时,实参传递给形参的实际就是实参的一个拷贝对象,系统自动通过调用拷贝构造函数来实现。2.当函数的返回值为一个对象时,该对象实际上是函数内对象的一个拷贝,用于返回函数调用处。定义类student,student s1=new student;student s2=s1//Student.c...

2018-04-06 23:24:39 1022

空空如也

空空如也

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

TA关注的人

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