- 博客(11)
- 收藏
- 关注
转载 计算机网络 三次握手 四次挥手
socket状态变迁图 1、建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。(3) 客户必须再次回应服
2015-08-05 08:40:54
1610
转载 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
645
原创 函数调用过程(反汇编分析)
1:将函数的实参压栈(值传递是将值压榨,引用传递是将其偏移量,即有效地址压栈---对应于内存的分段管理模式) 2.call 函数名这一步具体的操作就是将当前执行指令的地址压栈,为了函数结束后能够还原现场,(如果是near call,就将函数调用时的指令偏移量压栈,然后再将被调用函数的入口地址的偏移量送入指令指针寄存器ip,即实现了程序的转移;如果是远调用,压栈时多压入该指令下的
2015-06-05 16:53:24
1720
转载 const和valotile
一.关键字const有什么含意? 我只要一听到被面试者说:“const意味着常数”,我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着“只读”就可以
2015-05-15 08:57:47
912
转载 explicit的用法
explicit作用: 在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。 explicit使用注意事项: * explicit 关键字只能用于类内部的构造函数声明上。 * explicit 关键字作用于单个参数的构造函数。
2015-05-14 17:53:16
394
转载 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
771
转载 虚函数 虚表问题
虚表出自:http://blog.youkuaiyun.com/haoel/article/details/1948051 作者:陈皓对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证其容真实反应实际的函数。这样,在有虚函数的
2015-04-21 10:05:06
582
转载 桶排序及其应用
桶排序(Bucket Sort)有时也称为盒子排序(Bin Sort),来源于邮局使用的盒子信件分发方法。桶排序的有效性需假定输入数据是由一个完全随机过程产生,即要求桶排序的输入数据呈均匀分布,例如,输入数据随机均匀分布在区间[0, 1)。桶排序思想如下:1)把区间[0, 1)分解为n个大小相等的桶;2)将n个输入数据按照其取值不同分配到n个桶里面;3)对每个桶里面的数据进
2015-04-20 11:27:48
2926
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
1175
原创 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
1850
转载 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
541
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人