- 博客(8)
- 资源 (2)
- 收藏
- 关注
转载 Linux下时间
<br />1.时间类型<br />1) time_t是一个长整型,一般用来表示用1970年以来的秒数。<br />2)struct timeval有两个成员,一个是秒,一个是微妙。<br />struct timeval <br />{ <br /> long tv_sec; <br /> long tv_usec; <br />};<br />3) struct timespec有两个成员,一个是秒,一个是纳秒。<br />struc
2010-11-02 15:12:00
921
原创 Linux下各类TCP网络服务器的实现源代码(转)
<br />大家都知道各类网络服务器程序的编写步骤,并且都知道网络服务器就两大类:循环服务和并发服务。这里附上源代码来个小结吧。 <br />首先,循环网络服务器编程实现的步骤是这样的:<br /><br /> :P+ r% K6 Z( ^3 h4 B: c<br /><br />这种服务器模型是典型循环服务,如果不加上多进程/线程技术,此种服务吞吐量有限,大家都可以看到,如果前一个连接服务数据没有收发完毕后面的连接没办法处理。所以一般有多进程技术,对一个新连接启用一个新进程去处理,而监
2010-07-08 15:19:00
552
原创 结构体(struct) vs 类(class)
<br />1、默认继承权限。如果不明确指定,来自class的继承按照private继承处理,来自struct的继承按照public继承处理;<br />2、成员的默认访问权限。class的成员默认是private权限,struct默认是public权限。除了这两点,class和struct基本就是一个东西。语法上没有任何其它区别。<br />
2010-06-29 20:56:00
593
转载 C语言宏定义使用技巧(转载)
<br /><br />写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义……<br /> 1,防止一个头文件被重复包含<br /> #ifndef COMDEF_H<br /> #define COMDEF_H<br /> //头文件内容<br /> #endif<br /> 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。<br /> typedef unsigned cha
2010-06-29 17:05:00
455
原创 虚拟继承实现原理
网上查了好多篇关于虚拟继承的文章,竟然没有一篇比较系统的介绍虚拟继承的原理、内存分布等情况。没办法,结合自己对于虚拟继承的了解,以及以前大牛们做的贡献在此做一下系统的分析吧^_^虚继承又叫虚拟继承,是多重继承中特有的概念。虚基类是为解决多重继承而出现的。首先还是先给出虚继承和虚基类的定义。虚继承:在继承定义中包含了virtual关键字的继承关系;虚基类:在虚继承体系中的通过virtual继承而来的基类,需要注意的是:struct CSubClass : public virtual CBase {}; 其中
2010-06-29 15:24:00
2027
原创 守护进程
<br />守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程,是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。例如著名的apache、telnet、ftp等服务程序,这些系统服务程序往往是运行在后台的,人们将这些服务程序称为守护进程(daemon)。<br /> <br />一 特点<br />使用ps命令查看Linux系统进程的情况。可以看到守护进程的一些特点:所有的守护进程都是以超级用户启动的(UID为0);没有控制终端(TTY为?);
2010-06-29 10:18:00
584
原创 参数可变函数的实现
<br />1、可变参数函数形式<br />(1)定义参数书面可变的函数时,必须至少明确说明一个形参;在列出的最后一个形参后面用省略号(...)来说明该函数的参数数目可变。调用时,实参的数目必须大于等于形参中明确说明的形参数目。例如:<br />函数原型:int printf(char * format, ...)<br />(2)对应于形参说明中的省略号部分的实参的数据类型实行缺省的参数提升,例如:<br />void f(int, int, ...);/*f是参数数目可变的函数*/<br />int x
2010-06-28 15:29:00
788
eclipse仿sourceinsight主题
2018-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人