c/c++
gaoqingfeng2008
这个作者很懒,什么都没留下…
展开
-
Linux进程间通信(IPC)
Linux进程间通信(IPC)一、管道:1. 无名管道: 打开与关闭管道: #include <unistd.h> int pipe(int filedes[2]); filedes[0]用于读出数据,读取时必须关闭写入端,即close(filedes[1]); filedes[1]用于写入数据,写入时必须关闭读取端,即close(filedes[0])。 2. 有名管道...原创 2009-11-07 21:26:55 · 185 阅读 · 0 评论 -
STL中: string、vector、list、deque、set、map 的区别
在STL中基本容器有: string、vector、list、deque、set、mapset 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了string、vector、list、deque、set 是有序容器 1...原创 2009-08-14 08:55:35 · 159 阅读 · 0 评论 -
linux消息队列
基本概念1.队列 队列是信息的线性表,它的访问次序是先进先出(FIFO)。也就是说,置入队列中的第一个数据项将是从队列中第一次读出的数据项,置入的第二项将是读出的第二项,依此类推。这是队列允许的唯一存取操作,其它随机访问是不允许的。这种数据结构保证对数据资源的请求将严格按照先后顺序进行,因而可用于对事件的调度并起到I/O缓冲的作用。2.报文 发送...原创 2009-08-14 08:58:03 · 100 阅读 · 0 评论 -
内核中工作队列(linux工作队列)
Linux自从2.6.20之后,工作队列发生了一些变化,目前从网络上搜索的资料一般都是介绍老版本的工作队列,很少见到对新版本的介绍。本文对新老版本都做了简要概述,并分别提供了简单的实作案例。工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它...原创 2009-08-14 08:58:47 · 97 阅读 · 0 评论 -
五大内存分区--堆、栈、自由存储区、全局/静态存储区和常量存储区
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。...原创 2009-08-14 09:00:12 · 128 阅读 · 0 评论 -
malloc()与 alloc()区别
C语言跟内存分配方式(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(3)从堆上分配,亦称动态内存分配。程序...原创 2009-08-14 09:01:29 · 91 阅读 · 0 评论 -
memmove 和 memcpy的区别
memcpy和memmove()都是C语言中的库函数,在头文件string.h中,作用是拷贝一定长度的内存的内容,原型分别如下: void *memcpy(void *dst, const void *src, size_t count);void *memmove(void *dst...原创 2009-08-14 09:02:13 · 121 阅读 · 0 评论 -
大端与小端存储模式详解
端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian(这句话最为形象)。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。在计算机业B...原创 2009-08-14 09:03:07 · 105 阅读 · 0 评论 -
指针和引用操作符的区别
指针和引用是相似的概念,但并不是相同的。它们都是指向一个对象,但是指针可以允许这个指向随时变化,并且它允许你指向一个空对象。引用可不一样,引用在初始时就必须指向一个对象,并且这个指向永远不能变化,也就是说永远只能指向这个对象,不能改变。可以这么理解,指针是一个变量的指向,引用是一个常量的指向。指针和引用在操作上也有区别,指针使用操作符* 和-> ,引用使用操作符& 和. (点...原创 2009-08-17 09:06:23 · 113 阅读 · 0 评论