摘要:
1.Pimpl概念在进行项目开发中可能遇到的问题,程序编译耗时很长,每一次简单修改接口之后项目都会被完全重新编译,浪费了很多时间。这个机制是Private Implementation的缩写,顾明思议,将实现私有化,力图使得头文件对改变不透明.它的优点很多,诸如降低编译依赖、提高重编译速度之类的工具... 阅读全文
摘要:
1.TCP连接在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图所示:(1)第一次握手:建立连接,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认.(2)第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1... 阅读全文
摘要:
《Linux多线程服务器端编程》第3章主要讲的是多线程服务器的适用场合与常用的编程模型。1.进程和线程 一个进程是"内存中正在运行的程序“。每个进程都有自己独立的地址空间(address space)。将"进程"比喻为"人",每个人都有自己的记忆(memory),人与人通过谈话(消息传递)来交... 阅读全文
摘要:
今天看《Unix环境高级编程》的fork函数与vfork函数时,看见一个copy-on-write的名词,貌似以前也经常听见别人说过这个,但也一直不明白这究竟是什么东西。所以就好好在网上了解了下,也算明白个大概,先记录下来. 参考http://www.cnblogs.com/biyeymyh... 阅读全文
摘要:
最近在看一个开源的项目,突然发现在Linux上不知道有什么方便的工具来看开源代码。以前,在Windows上用VS2010集成开发环境,对于任意一个函数直接有快捷键跳转到函数定义处。可现在在Linux上束手无策。然后,开始在网上找资料,才知道linux上有ctags的神器,唉..伤心,到底是菜鸟... 阅读全文
摘要:
1.Sed简介 流数据编辑器 Stream editer(sed),它是一种行编辑器(对应于全屏编辑器),一次处理一行的内容。默认不编辑原文件内容(-i会直接修改原文件)。处理时,它先将当前符合模式的行存储在临时缓冲区内,处理完之后,把缓冲区的内容送往屏幕打印出来.2.命令格式 sed [optio... 阅读全文
摘要:
1.grep命令简介 grep命令是Linux系统中非常强大的文本搜索工具,全名Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户.根据某种模式(Pattern)搜索文本,并将符合模式的文本行显示出来.其中模式:由文本字符和正则表达式的元字... 阅读全文
摘要:
守护进程 守护进程是生存期较长的一种进程,它们常常在系统自举时启动,仅在系统关闭时才终止。因为它们没有控制终端,所以说它们是在后台运行的。UNIX系统由很多守护进程,它们执行日常事务活动. 本章主要介绍守护进程的结构,以及如何编写守护进程程序和守护进程如何报告错误情况.一.守护进程的编程规则 (... 阅读全文
摘要:
本章中,主要是介绍控制线程行为方面的内容,同时介绍了在同一进程中的多个线程之间如何保持数据的私有性以及基于进程的系统调用如何与线程进行交互.一.线程属性 我们在创建线程的时候可以通过修改pthread_attr_t结构的值来修改线程的属性,将这些属性与创建的线程联系起来。调用pthread_a... 阅读全文
摘要:
装饰者模式 在OO设计和开发过程,当我们需要为一个已经定义好的类添加新的职责(操作),通常情况下我们会采用继承的方式定义好自己的类,但是采取这样的方式会带来一些问题。 为了多态,通过父类指针指向其具体子类,但是这会造成另一问题:当我们需要为子类添加新的职责,就必须向其父类添加一个这个功能的抽象接口... 阅读全文