浅析C++当中的对象模型

我们来分析一下C++当中的对象模型。什么是虚函数表?C++的对象模型,我们首先需要分析的是虚函数表。 虚函数,这里我们就要牵扯到多态。简单的说就是父类指针或者引用调用重写的虚函数,当指向父类的时候,调用父类的虚函数,当指向子类的时候,这时候会调用子类的虚函数。首先,我们在这里需要了解一个概念,虚...

2016-08-25 14:59:28

阅读数 810

评论数 0

C++11右值引用和move语义

最近面试被问到这个没答上来,在此整理一下右值引用在C++11当中又一个概念叫做右值引用,这个概念我们首先要能够进行区分左值和右值的概念,左值就是一个具体的内存对象,可以修改的,右值就是一个值,这个值可以赋值给其他的。右值引用的作用是让我们能够得到临时对象的所有权,这样我们就可以去修改临时对象了。i...

2017-05-29 13:51:21

阅读数 644

评论数 0

HTTPweb服务器——代码实现

代码已托管github,有兴趣可以去看下,https://github.com/wsy081414/linux_practice/tree/master/http_servermain.c#include"httpd.h" static void *accept_request...

2017-04-22 22:29:52

阅读数 952

评论数 0

HTTPweb服务器——HTTP整体设计框架

我们整个的项目采用B/S模式,通过浏览器发送HTTP的get方法和post方法,然后server进行响应,这样最终通过html看到我们所显示的最终的效果。 另外,为了支持并发,我们采用了多线程的结构。1、进行创建监听套接字和其他socket编程的模式是一样的,我们这里的第一步依然是首先创建监听套...

2017-04-22 22:22:31

阅读数 2289

评论数 0

HTTPweb服务器——HTTP基本知识

对于HTTP来说,我们不需要说太多,HTTP又叫做超文本传输协议,现如今利用最多的版本是1.1版本,HTTP的特点: C/S模式,B/S模式 简单快速:基于请求和响应,请求只需要传送请求方法和路径。 灵活:HTTP允许传输任意类型的数据对象。 无连接:这个无连接说的是应用层的,应用层无连接...

2017-04-22 22:18:19

阅读数 3708

评论数 0

Shell总结(二)

第一篇我们学习了Shell当中的变量和符号,接下来我们来学习一下Shell当中的语法。语法无非是有几个点,条件判断,循环控制,以及面向过程最重要的一点——函数。1. test和[首先我们来看一下test和[,这两个是有关于条件测试的。test命令和[的作用是一样的,都是用来判断条件是否成立。而对于...

2017-03-30 22:25:28

阅读数 387

评论数 0

Shell总结(一)

最近学习了脚本语言,Shell,是时候进行一下总结了,好了,不多说了。1. 前言Shell是对操作系统的操作,操作系统进行管理硬件,开发人员通过Shell来和操作系统交流,通过操作系统的命令和操作系统之上的库,以及一些暴露的系统调用进行交流。Shell是基于命令的语言,Shell脚本语言。Shel...

2017-03-29 15:33:58

阅读数 339

评论数 0

关于shell当中的$()和` `以及eval

1.$()和` `今天我们来看一下再shell当中的几个问题,一个是$(),一个是` `。首先,我们需要明确这里这两个的用途,$()和都是用来做命令替换的。例如:echo pwd echo $(pwd) echo `pwd`从效果就可以看出$()和 ` ` 的作用了吧。它进行命令替换,执行pwd。...

2017-03-29 11:29:35

阅读数 7249

评论数 0

存储映射I/O(mmap函数)和共享内存

前言最近在一次电话面试的过程中,面试官问我相关的共享内存的知识,当时就认为是我在学习IPC进程间通信学习到的共享内存,所以就给面试官讲解了一下,然后,面试官说我是否知道在Linux下的存储映射I/O,当时我下意识的知道就是mmap函数,但是感觉自己对这两个理解还是不够深刻,所以,写一篇博客来记录一...

2017-03-28 15:26:14

阅读数 1526

评论数 0

I/O多路复用比较(select,poll,epoll)

讲述完了三种I/O多路复用模型,我们现在需要进行一下比较。比较三种I/O多路复用关于他们的优缺点呢,前面三篇博客我都有所提及,这里我主要为了再次总结一下。  select和poll都只能工作在低效的LT(水平触发),这种方式下进行多次的循环处理时间的等待。而epoll是在高效的ET(边沿触发)模式...

2017-03-28 13:49:28

阅读数 472

评论数 0

I/O多路复用——epoll

说完了select和poll,那么必须要说一下epoll的。select和poll是UNIX当中的,epoll是Linux所特有的。和前面的思路一样,poll解决了select的缺点,所以epoll的出现也是为了最大化的提高多路复用的效率,解决poll的缺点。epoll介绍epoll的实现和sel...

2017-03-28 13:23:15

阅读数 780

评论数 0

I/O多路复用——poll

上一篇我们说了关于select的相关信息,我们可以看到select是有弊端的,所以为了解决select的弊端,UNIX又在后期提出了poll。select的弊端这里就不多说了,上一篇博客有提及。pollpoll和select类似,不过在一些方面改善了select的弊端。它也是在指定的时间进行轮询文...

2017-03-27 22:29:25

阅读数 985

评论数 0

I/O多路复用——select

接下来我们讨论3篇关于I/O多路复用的问题,首先我们来看下select,select是多路复用当中最早的一种I/O复用的最主要的功能就是让程序能够同时去监听多个文件描述符,这样程序的性能就能提高。select介绍我们先来看一下select的接口。 int select(int nfds...

2017-03-27 21:40:20

阅读数 571

评论数 1

面试当中的git问题

面试当中的git和svn的内容:git是分布式版本控制系统,SVN是集中式版本控制系统。问题1:reset 与 rebase, pull 与 fetch 的区别git reset 不修改commit相关的东西,只会去修改.git目录下的东西。git rebase 会试图修改你已经commit的东西...

2017-03-27 19:55:41

阅读数 4430

评论数 2

Shell当中的字符串切割

我们来看一下以下这几种字符串切割的方式。1.使用 # 和 ## 来进行截取。val=“hello world!”echo ${val#*o} echo ${val##*o}进行字符串截取, 第一个是从左到右进行删除第一个o的字符串。 第二个是从左到右进行删除最后一个o的字符串。 这里的 * ...

2017-03-27 18:26:26

阅读数 5473

评论数 0

网络数据包传送的过程和DNS过程

网络数据包传送的过程在整个数据报传输过程当中,发送: 发送端进程首先调用系统调用,然后把数据发送给了socket,然后socket检查数据类型,调用系统调用send函数,send函数检查socket的状态,协议类型,传给了传输层,传输层对应的协议(UDP或者是TCP为这些数据创建数据结构...

2017-03-27 13:30:11

阅读数 1522

评论数 0

TCP

关于TCP协议是网络中很重要的一个协议,这个协议自然需要好好看看。我们从TCP的首部来一点一滴的深入理解这个协议。1. TCP首部介绍首先介绍首部字段:源端口和目的端口: 提供复用和分用,应用层的进程都可以通过传输层再传输到IP层,这就是复用,分用就是传输层从IP层收到数据后必须交付给指明的应用层...

2017-03-07 00:39:59

阅读数 754

评论数 0

关于路由相关

路由:数据包从源地址到目的地址所需要经过的路径,由一系列节点组成。 路由节点:一个具有路由功能的主机或者路由器,维护一张路由表,通过查询路由表来决定向那个姐发送数据包。 路由表:由很多路由条目组成,每个条目都指明去往某个网络的数据包应该经由哪个接收和发送,其中最后一个是缺省路由条目。 路由条...

2017-03-07 00:28:24

阅读数 535

评论数 0

ARP协议

ARP关于ARP地址解析协议,是我们通过IP地址可以获得MAC地址的一个协议,当我们在一个局域网进行通信的时候,所需要的条件就是必须有发送端和目的端两端的MAC地址。ARP协议的目的就是为了解决在局域网进行通信的时候只知道IP地址却不知道MAC地址的情况。我们先来看一下MAC帧: 从这个图中我们...

2017-03-04 20:08:19

阅读数 594

评论数 0

gdb调试多线程多进程

今天进行学习一下关于gdb调试多线程和多进程的情况:gdb调试多进程尝试来调试多进程的程序,我们使用gdb进行调试程序,gdb的调试默认是调试父进程的,但是为了做到可以对父进程和子进程都做到调试,所以附加了调试子进程的功能。我们可以对fork出来的进程进行设置调试方法。follow-fork-mo...

2017-03-03 09:28:06

阅读数 1221

评论数 0

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