自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 计算机网络 三次握手 四次挥手

socket状态变迁图   1、建立连接协议(三次握手) (1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。 (2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。 (3) 客户必须再次回应服

2015-08-05 08:40:54 1564

转载 vector_construct_interator;delete为什么能识别free内存大小

[原理分析]   在用IDA反汇编C++程序的时候,经常会看到这样的语句:“call eh vector constructor iterator”或“eh vector destructor iterator”。 通常大家的第一反应是:这是在调用某个std::vector对象的构造函数或析构函数。但进一步的阅读发现跟std::vector的实现对不上号,就是说程序中并没有声明std::vec

2015-06-12 12:08:46 595

原创 函数调用过程(反汇编分析)

1: 将函数的实参压栈(值传递是将值压榨,引用传递是将其偏移量,即有效地址压栈---对应于内存的分段管理模式)   2.call 函数名 这一步具体的操作就是将当前执行指令的地址压栈,为了函数结束后能够还原现场,(如果是near call,就将函数调用时的指令偏移量压栈,然后再将被调用函数的入口 地址的偏移量送入指令指针寄存器ip,即实现了程序的转移;如果是远调用,压栈时多压入该指令下的

2015-06-05 16:53:24 1669

转载 const和valotile

一.关键字const有什么含意?        我只要一听到被面试者说:“const意味着常数”,我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着“只读”就可以

2015-05-15 08:57:47 864

转载 explicit的用法

explicit作用:   在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。   explicit使用注意事项:      *        explicit 关键字只能用于类内部的构造函数声明上。      *        explicit 关键字作用于单个参数的构造函数。

2015-05-14 17:53:16 359

转载 static_cast 和dynamic_cast区别

1.static_cast在编译时期强制转换,dynamic_cast在运行时期转换(较安全)       2.static_cast是c语言的强制转换代替品;dynamic_cast会运行时检查该转换是否类型安全,只在多态类型时合法,即该类至少具有一个虚拟方法。 其中static_cast是相当于C的强制类型转换,用起来可能有一点危险。dynamic_cast在转换前会检查指针(或引用

2015-05-06 14:40:21 704

转载 虚函数 虚表问题

虚表 出自:http://blog.csdn.net/haoel/article/details/1948051  作者:陈皓 对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证其容真实反应实际的函数。这样,在有虚函数的

2015-04-21 10:05:06 538

转载 桶排序及其应用

桶排序(Bucket Sort)有时也称为盒子排序(Bin Sort),来源于邮局使用的盒子信件分发方法。桶排序的有效性需假定输入数据是由一个完全随机过程产生,即要求桶排序的输入数据呈均匀分布,例如,输入数据随机均匀分布在区间[0, 1)。 桶排序思想如下: 1)把区间[0, 1)分解为n个大小相等的桶; 2)将n个输入数据按照其取值不同分配到n个桶里面; 3)对每个桶里面的数据进

2015-04-20 11:27:48 2812 2

转载 程序分text, data (initialized), bss, stack, heap几个段

根据APUE,程序分为下面的段:.text, data (initialized), bss, stack, heap。 data/bss/text: text段在内存中被映射为只读,但.data和.bss是可写的。 bss是英文Block Started by Symbol的简称,通常是指用来存放程序中未初始化的全局变量的一块内存区域,在程序载入时由内核清0。BSS段属于静态内存分配

2015-04-17 16:17:07 1117

原创 const char * char * const strcpy 及数据存储区的总结

int a; int * const p = &a //指针常量,*p可以修改*p = 8;(OK) p不可以修改 p++(ERROR) int a,b; const int *p = &a;//常量指针 *p不可修改 *p = 8;(ERROR) p 可以修改 p = &b (OK) 关键要看const修饰的是谁 const修饰变量p,表示指针p不能改变方向,即指针常量,但

2015-04-17 10:24:12 1789

转载 p2p的基本实现过程

络上的大多数UDP原理研究分析后,自己总结了下面的结果. 1、client A 登录 通过http服务器 webservices 验证成功获取自身信息与好友 列表信息等。 2、Http服务器登记client A的NAT后的IP地址与端口 3、Client B登录 通过http服务器 webservices 验证成功获取自身信息与好友列 表信息等。 4、Http服务器登记client B

2015-04-08 09:12:34 508

空空如也

空空如也

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

TA关注的人

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