摘要:
共享内存是IPC最快的方式。一旦这种方式映射到共享它的进程地址空间,这些进程间的数据传递就不在涉及内核。管道、FIFO、System V消息队列的read、msgrcv、write和msgsnd都涉及从进程与内核的数据复制。 共享内存操作函数: 1、系统调用mmap() void... 阅读全文
摘要:
一、Posix消息队列 1、mq_open,mq_close,mq_unlink #include mqueue.h> mqd_t mq_open(const char *name, int oflag, ...); oflag:O_RDONLY,O_WRONLY,O_RDWR,... 阅读全文
摘要:
1、概述 管道:是最初的Unix IPC形式,但是没有名字只能有亲缘关系的进程使用。FIFO有时称为有名管道,可以在任意进程间使用。 2、管道 #include int pipe(int fd[2]); 返回值:成功,返回0,否则返回-1。参数数组包含pipe使用的两个文件的描述... 阅读全文
摘要:
一、接口不变就可以不需要重新编译? 对于很多库的实现者可能会有这样的认识“接口不变就可以不需要重新编译”,其实这句话是有前提的,前提是实现的动态库有足够的兼容性和鲁棒性。尤其是C++实现的动态库,C++只对语言层规则做了规定,没有二进制级别的任何规定。 COM本质论里面的例子很好的阐述了这点,简... 阅读全文
摘要:
1、泛型算法定义 泛型算法:因为它们实现共同的操作,所以称之为“算法”;而“泛型”指的是它们可以操作在多种容器类型上——不但可作用于 vector 或 list 这些标准库类型,还可用在内置数组类型、甚至其他类型的序列上,这些我们将在本章的后续内容中了解。自定义的容器类型只要与标准库兼容,同... 阅读全文
摘要:
1、关联容器定义 关联容器和顺序容器的本质差别在于:关联容器通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。 关联容器(Associative containers)支持通过键来高效地查找和读取元素。两个基本的关联容器类型是 map set。map 的... 阅读全文
摘要:
标准库定义了三种顺序容器类型:verctor、list、deque(双端队列) verctor:支持快速随机访问。 list:支持快速插入删除。 deque:双端队列 1、容器构造函数 容器构造函数 将一个容器复制给另一个容器时类型必须匹配,容器类型和元素类型都必须相同。... 阅读全文