基础知识
文章平均质量分 78
zhoushuaiyin
这个作者很懒,什么都没留下…
展开
-
epoll模型添加inotify事件的代码实现
#include #include #include #include #include #include struct inotify_data_type{ int fd; char self_type[16];};int main(int argc,char* argv[]){ if(argc < 2) { return 1;原创 2015-01-12 10:10:45 · 2481 阅读 · 0 评论 -
自动化编译工具(autotools系列工具)使用实例
1. 引言我们在学习和使用很多开源软件的时候,会发现其源码中并不总是有现成的configure文件和makefile文件,而是需要先执行一个安装脚本。例如,SOHO-DBproxy中,使用build.sh完成编译安装:sh autogen.shbash ./configure --prefix=${MYSQL_PROXY_INSTALL_PATH} --with-mysql=${MYS原创 2015-01-19 12:17:59 · 1535 阅读 · 0 评论 -
C++ 模板基础知识
1. 模板定义1.1 函数模板函数模板是一个独立于类型的函数,可作为一种方式产生函数的特定版本。模板定义以关键字template开始,后接模板形参表(不可为空)。模板的形参可以分为:类型形参和非类型形参,编译器会为我们推测出用什么类型绑定类型形参以及用什么值绑定非类型形参 函数模板可以声明为inline,说明符放在形参表之后,返回类型之前,不可放在template之前原创 2015-02-03 17:31:30 · 694 阅读 · 0 评论 -
Posix管道基本知识
1. 基本信息管道是最早的IPC形式,一般可以分为管道和FIFO(命名管道)两类,使用通常的read和write进行读写。管道可以分为全双工和半双工管道。不同版本的Unix提供了不同的实现。SVR4的pipe创建的为全双工管道,而posix1标准则为半双工管道。一般是先全双工管道使用socketpair函数较为可靠。2. pipe、popen、pclose#include int p原创 2014-12-23 15:43:21 · 1291 阅读 · 0 评论 -
C++基础(二)
1.命名空间的using声明原创 2014-10-23 17:47:03 · 418 阅读 · 0 评论 -
C++基础(三)
1.左值和右值当一个对象被用作右值时,用的是对象的值;但原创 2014-10-25 00:11:39 · 444 阅读 · 0 评论 -
C++基础(四)
1. 类的定义编译器一般分两步处理类:首先编译成员的声明,然后原创 2014-11-01 19:59:08 · 508 阅读 · 0 评论 -
C++基础(五)
1. 顺序容器1.1 容器的定义和初始化原创 2014-11-03 14:41:24 · 371 阅读 · 0 评论 -
Posix信号量基本知识
1. 引言信号量包含一个非负整型变量,其包含一对原子操作,即P/V操作。P操作:若信号量非负,则P操作将信号量值减1;若信号量为0,则P操作将执行wait操作。V操作:将信号量值加1。Linux包含两类信号量:信号量可分为Posix信号量和System V信号量。今天我们主要学习一下Posix信号量,其有两类形式:命名信号量和无名信号量,其主要区别在于创建和销毁的形式。命名信号原创 2014-12-15 23:32:00 · 2494 阅读 · 0 评论 -
EPOLL的内核实现
1. select/poll的缺点 A. 每次调用时重复的从用户态读入参数 B. 每次调用时全量的扫描文件描述符 C. 每次调用开始,将进程加入到每个文件描述符的等待队列,在调用结束后又把进程从等待队列中删除。 D. 在不修改内核的情况下,select最多支持1024个文件描述符。 2. 文件系统中的一些重要结构在linux中,进原创 2014-12-17 15:20:22 · 3293 阅读 · 0 评论 -
Memcached 基础知识
1. 基本信息 memcached是高性能的分布式内存缓存服务器,原创 2014-10-14 22:14:44 · 2766 阅读 · 0 评论 -
C++ 基础(一)
C++定义包括算数类型和空类型在内的一套原创 2014-10-12 20:28:44 · 445 阅读 · 0 评论 -
Linux进程基本知识
1.基本概念进程是资源管理的最小单位,而线程是程序执行的最小单位。在操作系统设计上,从进程演化出线程的主要目的:更好的支持SMP以及减小(进程/线程)上下文切换的开销。针对线程模型的两大意义,分别开发出了核心级线程(For SMP)和用户级线程(For 上线文切换)两类线程模型,其分类标准主要是线程的调度者是核内还是核外。很多系统都着重于开发混合模型,而Linux没有这种打算。Linu原创 2014-12-07 21:39:17 · 585 阅读 · 1 评论 -
Posix共享内存区基础知识
1. 基本信息共享内存区是可用IPC中最快的,一旦其映射到共享它的进程的地址空间,进程间的数据场地就不再涉及内核(无需系统调用传递数据)。普通的客户-服务程序涉及的步骤:服务端读文件—》服务端写入IPC—》客户端读IPC—》客户端写入文件而使用共享内存:服务端将文件读入共享内存对象—》客户端从共享对象写入文件。2. mmap、munmap和msync函数#inc原创 2014-12-22 23:08:06 · 662 阅读 · 0 评论