- 博客(5)
- 资源 (4)
- 收藏
- 关注
原创 C++虚函数表
C++ 多态性可分为两类:静态多态和动态多态。函数重载和运算符重载实现的多态属于静态多态,动态多态性是通过虚函数实现的。**每个含有虚函数的类有一张虚函数表(vtbl),表中每一项是一个虚函数的地址, 也就是说,虚函数表的每一项是一个虚函数的指针。基类和继承类分别拥有自己的虚函数表如果有虚函数,则虚函数表占用类内存的首地址多重继承的情况下,对应基类有多个虚函数表没有虚函数的C++类,是不会
2016-04-22 11:08:32
201
原创 socket 冷门
connect还能用于无连接的网络服务(SOCK_DRRAM),在SOCK_DGRAM上使用connect,所发送的报文的目标地址为connect中调用的地址,这样就不用每次sendmsg时指定地址了。accept的socket处于非阻塞状态下时,如果没有连接进来,会返回-1并将errno置为EWOULDBLOCK或者EAGAIN。
2016-04-07 13:36:16
245
原创 Linux C线程同步
线程同步方法同步方法: 1.互斥量 2.读写锁 3.条件变量详解: 1.条件变量:是需要与互斥量配合使用,因为条件的改变不是原子操作,需要互斥量锁住。用于多个线程竞争一个资源时使用。 2.互斥量:相当于锁,用于多个线程访问互斥的代码段。线程不安全的系统函数
2016-04-06 17:25:13
210
原创 C程序的存储空间布局
C程序的存储空间布局C程序的存储空间由以下几部分组成:正文段初始化数据段非初始化数据段栈堆命令行参数及环境变量图示正文段:这是由 C P U执行的机器指令部分,即程序的代码段。 初始化数据段:任何函数之外的数据。 未初始化数据段:通常将此段称为 bss段,在程序开始执行之前,内核将此段初始化为0。 栈:自动变量以及每次函数调用时所需保存的信息都存放在此段中。每次函数调用时,其
2016-04-03 16:11:43
355
原创 线程间通信
线程间的通信: 在一个多线程的应用程序中,所有线程共享进程资源,协同工作。所以,线程之间的通信是编写多线程应用的必不可少的环节。 线程之间的通信包括互斥、同步等,它是多线程设计中最难控制的部分,也是关键部分。1、线程间的互斥 (1) 临界区 在一个多线程的应用程序中,可能存在这样的危险:一个线程以某种其他线程不可预料的方式修改资源。 例如两个线程都对同一
2013-03-18 16:12:39
307
STL源码剖析_中文简体完整版
2016-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人