- 博客(10)
- 资源 (3)
- 收藏
- 关注
原创 进程间通信——mmap()函数
mmap可以把磁盘文件的一部分直接映射到内存,这样文件中的位置直接就有对应的内存地址,对文件的读写可以直接使用指针来做,而不需要read/write函数。 void *mmap(void *addr,size_t length,int port,int flgs,int fd,off_t offset); int munmap(void *addr,size_t length); 如果addr
2016-07-28 20:46:49 543
原创 进程通信——共享内存
共享内存可以说是最有用的进程间的通信方式,也是最快的IPC形式。共享内存只需要凉席数据拷贝:一次是从输入文件到共享内存区;另一次从共享区到输出文件。进程之间共享内存时,并不是读写少量的数据后就解除映射,而是在所有的通信结束之后才解除映射。这样,数据内容一直保持在共享内存中,并没有进行写入文件。共享内存中的内容往往是在解除映射时才写回文件。因此,共享内存的通信是非常高效的。Linux传统的文件访问方
2016-07-26 22:28:40 407
原创 进程间通信——消息队列
每个进程各自具有不同的用户地址空间,任何一个进程的全局变量在另外一个进程中看不到;所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区中读取。内核提供的这种机制被称为进程间通信(InterProcess Communication)。XSI IPC包括消息队列、信号量、共享内存;他们都是依托标识符和键来实现的。下面介绍消息队列的实现
2016-07-23 12:19:54 365
原创 函数调用栈帧的分析
先来看一段代码#include<stdio.h>#include<stdlib.h>#include<windows.h>void fun(){ printf("\n\nfun runing\n"); Sleep(5000); printf("fun end\n"); exit(1);}int fun1(int a,int b){ printf("\n\
2016-06-09 16:27:20 455
原创 Linux命令——文件查找命令find
命令格式:find [path] [option] [action]命令功能:用于在文件树中查找文件,并作出相应处理命令参数:[path]:find命令所查找的目录路径。('.'表示当前目录,'/'表示根目录);1、和时间有关的参数:-atime(access time),-ctime(change time),-mtime(modify time)。下面以-mtime为例说明:-mt
2016-05-19 22:29:22 632
原创 Linux—档案与目录管理(1)
Linux一般将档案可存取的身份分为三个类别(owner/group/others),三种身份各自具有各自的r/w/x权限。Linux文件类型:1、普通文件(regular file,符号'-'): a、纯文本(ASCII):Linux系统中最多的一种文件类型;这类文件内容是我们可以直接读到的数据(eg:数字、字母)。 b、二进制文件(binary file):可执行文件(scripts
2016-05-13 15:10:43 397
原创 复杂链表类的拷贝构造函数的实现(1)
复杂链表即就是在普通单链表的基础之上添加了一个可以指向链表中任意节点或者NULL的_random指针。节点定义:template <class T>struct ComplexListNode{ ComplexListNode(const T& d) :_data(d),_next(NULL),_random(NULL) {} T _data; Comp
2016-04-17 21:42:57 3871
原创 c++智能指针的简单实现
为了管理具有指针成员的类,必须定义三个拷贝控制成员函数:拷贝构造函数、operato=、析构函数。这些成员可以定义指针成员的指针型子行为或之行为。智能指针是行为类似于指针的的类对象,智能指针在对象间共享同一个基础值,从而提供了指针型行为。智能指针不需要去关注它的new和delete;他会在创建时自动new,并且在出作用域之前调用其析构函数将其delete,不会造成忘记delete或者无法执行del
2016-04-06 23:39:07 640
原创 C++ String类的简单实现1
一、String类的基本设计: String类的最简单的设计是只含有一个char*成员变量。 String(char * str = "") :_str(new char [sizeof(str) + 1]){ strcpy(_str, str); } 二、实现最基本的构造、析构、拷贝构造、赋值几种最基本成员函数: 1、构造函数:成员变量为私有的,要对其进行初
2016-03-08 14:23:50 488
原创 字符串的几个常用函数的C实现
一、字符串长度函数 字符串长度即就是一个字符串中所包含的的字符个数。所以可以通过对字符串中的字符进行统计即可。 实现:由于不需要对字符串进行修改,为了保护源字符串,故将其参数设计成const类型,返回值为有符号整形。int my_strlen1(const char *str){ assert(str); int count = 0; whi
2015-12-15 22:33:41 617 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人