上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 100 下一页

2014年5月4日

Linux 高性能服务器编程——IP协议详解

摘要: 1 IP服务特点IP协议是TCP/IP协议族的动力,它为上层协议提供无状态、无连接、不可靠的服务。无状态:IP通信双方不同步传输数据的状态信息,因此IP数据包的发送、传输和接收都是无序的。 缺点:无序,不可靠 优点:简单、高效不可靠:不能保证IP数据报准确地到达接收端,它只是承... 阅读全文

posted @ 2014-05-04 15:01 胡永光 阅读(238) 评论(0) 推荐(0) 编辑

Linux 高性能服务器编程——TCP/IP协议族

摘要: 1 TCP/IP协议族体系结构数据链路层: 职责:实现网卡接口的网络驱动程序,一处理数据在物理媒介(如以太网、令牌环等)上的传输。 常用协议:ARP协议(地址解析协议),RARP协议(逆地址解析协议)——实现了IP地址和机器物理地址之间的相互转换。 寻址:使用物理地址(MAC地址... 阅读全文

posted @ 2014-05-04 13:12 胡永光 阅读(125) 评论(0) 推荐(0) 编辑

2014年4月25日

sizeof(结构体)和内存对齐以及位域

摘要: Win32平台下的微软C编译器的对齐策略:1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;备注:编译器在给结构体开辟空间时,首先找到结构体中最宽的基本数据类型,然后寻找内存地址能被该基本数据类型所整除的位置,作为结构体的首地址。将这个最宽的基本数据类型的大小作为上面介绍的对齐模数。2... 阅读全文

posted @ 2014-04-25 11:23 胡永光 阅读(307) 评论(0) 推荐(0) 编辑

2014年4月23日

C++ 虚函数表 多重继承

摘要: 上次研究的是单继承的情况,这次研究多重继承下的虚函数表的排列情况。 这次A,A1,A2,B这几个类的继承关系如下图: 测试代码如下:#includeusing namespace std;class A{... 阅读全文

posted @ 2014-04-23 00:09 胡永光 阅读(442) 评论(0) 推荐(0) 编辑

2014年4月22日

C++ 虚函数表 单继承

摘要: 本文研究单继承情况下,c++对象的虚函数表的具体情况。 假设有两个类A,B, 其中B由A派生出来,A含有虚函数fun1,B含有虚函数fun2。测试的代码如下:#includeusing namespace std;class A{public: vir... 阅读全文

posted @ 2014-04-22 23:35 胡永光 阅读(161) 评论(0) 推荐(0) 编辑

私有继承

摘要: C++编程语言中,在声明一个派生类时将基类的继承方式指定为private的称为私有继承,用私有继承方式建立的派生类称为私有派生类(private derived class),其基类称为私有基类(private base class)。如果两个类之间的继承关系为私有或者保护,编译器一般不会将派生类... 阅读全文

posted @ 2014-04-22 10:36 胡永光 阅读(269) 评论(0) 推荐(0) 编辑

2014年4月17日

内联函数和宏定义的区别

摘要: 两者区别如下:内联函数在编译器时展开,宏在预编译时展开。在编译的时候内联函数可以直接被嵌入到目标代码中,而宏只是一个简单的文本替换。内联函数可以完成诸如类型检查、语句是否正确等编译功能,宏就不具有这样的功能。宏不是函数,inline函数是函数。宏在定义时要小心宏参数(一般情况是把参数... 阅读全文

posted @ 2014-04-17 22:47 胡永光 阅读(174) 评论(0) 推荐(0) 编辑

#pragma pack(x) CPU对齐

摘要: 编译器会尽量把成员对齐以提高内存的命中率。对齐是可以更改的,使用"#pragma pack(x)“ 可以改变编译器的对齐方式。 C++固有类型的对界取编译器对齐方式与自身大小中较小的一个。例如,指定编译器按2对齐,int 类型的大小是4,则int 的对界为2和4中较小的2。在默认的对... 阅读全文

posted @ 2014-04-17 21:49 胡永光 阅读(219) 评论(0) 推荐(0) 编辑

static 变量(静态变量)

摘要: 在C++的面向对象编程中,static还可以加在类的数据成员或成员函数之前。这样定义的数据成员或成员函数就被类所拥有,而不再属于类的对象。#include using namespace std;class widget{ public: widget() { ... 阅读全文

posted @ 2014-04-17 00:15 胡永光 阅读(252) 评论(0) 推荐(0) 编辑

2014年4月16日

C++ 中const作用

摘要: 一、对const与#define的特点及区别的理解 #define只是用来做文本替换的,#define常量的生命周期止于编译期,它存在于程序的代码段,在实际程序中它只是一个常数,一个命令中的参数,并没有实际的存在。 const常量存在于程序的数据段,并在堆栈中分配了空间。c... 阅读全文

posted @ 2014-04-16 23:05 胡永光 阅读(238) 评论(0) 推荐(0) 编辑

上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 100 下一页

导航