
Linux C/C++
文章平均质量分 79
JK1860
这个作者很懒,什么都没留下…
展开
-
C++中的fstream类 简介
<br />#include <fstream>#include <iostream>#include <string.h>#define BUF_SIZE 256using namespace std;int main(){ //ifstream fromfiletobuf;//输入方式,为从文件输入到buf ifstream fromfiletobuf("infilename.txt",ios::in); //ifstream fromfiletobuf("infilen原创 2011-01-15 23:17:00 · 2737 阅读 · 0 评论 -
进程间通信之共享内存
共享内存是同一机子上进程间通信最快的方法,一个进程可以创建一个共享内存区域,另一个内存可以访问该区域。,如果你需要高性能的同机进程间通信的时候,就可以使用共享内存。共享内存相关的函数: int shmget(key_t key, size_t size, int shmflg); void *shmat(int shmid,const void *shmaddr, int shmflg); int shmdt(const void * shmaddr);原创 2011-03-08 21:14:00 · 918 阅读 · 0 评论 -
进程间通信之消息队列
<br /> 消息队列的使用同管道类似,但是 消息队列可以允许通过规定的消息类型来区分,消息接收者可以请求可用的消息而忽略消息类型(定义消息类型为0),或者它也可以请求接收指定的消息类型的消息(定义消息类型为正整数)。消息队列用于运行在统一台计算机上的进程间的通信。<br /><br /> 对消息队列的操作基本有通过调用ftok函数产生唯一的key,根据该key创建消息队列,通过msgsnd想消息队列发送信息,通过msgrcv接收消息队列中的信息,通过msgctl删除消息队列原创 2011-03-07 16:49:00 · 823 阅读 · 0 评论 -
进程控制操作相关的函数
<br /> #include<unistd.h><br /> pid_t fork(void); <br /> pid_t vfork(void);<br /><br />创建一个新的进程,如果返回值为正数,则执行的是父进程,该值为子进程的PID,如果返回值为0,则执行的是子进程,返回-1,创建出错。<br />在Linux操作系统上,vfork()同fork()一样,在其他系统中,略有区别。<br /><br /> int execve(const char原创 2011-03-03 21:35:00 · 2126 阅读 · 0 评论 -
linux进程通信之管道
<br /> 管道:可分为普通管道和命名管道。普通管道用于有亲缘关系的进程间的通信(父子进程).命名管道,通过给管道命名的方式,使得管道变成文件系统中的管道文件,从而允许无亲缘关系的进程间通过访问管道文件进行通信。<br /> 管道是单向的,一端只能用于输入,另一端只能用于输出。管道是FIFO的,即先进先出的,向管道中写入的数据附加至管道缓冲区的尾部,而读数据是从管道缓冲区的头部开始的。普通管道只能用于有亲缘关系的进程间的通信。Linux系统下,管道缓存区为4096字节,缓存区满时,阻塞写操原创 2011-01-21 22:32:00 · 1189 阅读 · 0 评论 -
linux 信号简介三 信号阻塞处理
6. 信号的阻塞处理 1. 信号掩码——被阻塞的信号集 每个进程都有一个用来描述哪些信号传送来将被阻塞的信号集,如果某种信号在某个进程的阻塞信号集中, 则传送到该进程的此种信号将会被阻塞。 当前被进程阻塞的信号集也叫信号掩码,类型为sigset_t。 每个进程都有自己的信号掩码,且创建子进程时,子进程会继承父进程的信号掩码。 2. 信号阻塞和忽略的区别 阻塞的概念与忽略信号是不同的:操作系统在信号被进程解除阻塞之前不会将信号传递出去,被阻塞的信号也不会影响进程原创 2011-01-19 12:24:00 · 2055 阅读 · 0 评论 -
linux 信号简介二 信号处理函数安装
3. 内核对信号的基本处理方法 内核给一个进程发送软中断信号的方法,是在进程所在的进程表项的信号域设置对应于该信号的位。内核处理一个进程收到的信号的时机是在一个进程从内核态返回用户态时。所以,当一个进程在内核态下运行时,软中断信号并不立即起作用,要等到将返回用户态时才处理。4. 用signal函数安装信号处理函数 函数原型:__sighandler_t signal(int sig, __sighandler_t handler); sig: 输入参数,信号名称,指定要安装原创 2011-01-19 10:41:00 · 1891 阅读 · 0 评论 -
linux 进程相关简介
简单的说,进程是处于运行状态的程序,一个运行着的程序可能有多个进程。进程一般分为交互进程、批处理进程和守护进程三类。守护进程总是活跃的,一般是后台运行,守护进程一般是由系统在开机时通过脚本自动激活启动或超级管理用户root来启动。进程的属性 进程标志符:进程ID,内核分配,该标志符非负,范围0~32767 父进程和父进程ID(PPID) 启动进程的用户ID(UID)和所归属的组(GID); 进程的有效用户ID和有效组ID 进程的进程组ID:一个进程可原创 2011-01-17 13:59:00 · 2018 阅读 · 0 评论 -
linux 驱动开发之内核树构建
在看的时候,作者其中提到Setting Up Your Test System。他只是指出为2.6.X编写模块,首先,要求你在Linux系统上构建和配置内核树,对于2.6版本的内核来说,已有的头文件已经足够了,但是2.6的模块链接着内核源码树中的对象文件。这样模块加载器将更健壮,但是也要求这些对象文件存在。所以驱动开发的第一件事情就是构建内核源码树。 他没有提到如何构建,我从网上找了一些资料,构建了自己的内核树,写出来大家分享一下,本人用的是Ubuntu Linux 10.10 装在虚拟原创 2011-01-20 15:26:00 · 4734 阅读 · 1 评论 -
linux 信号简介一
<br />信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。<br /><br />signal,信号用来通知某进程发生了某件事,仅仅起通知作用,不传递任何数据。收到信号的进程对信号有三种处理方式:<br /> A. 通过指定的信号处理函数来处理。<br /> B. 忽略该信号,即对该信号不做处理<br /> C. 对信号进行默认处理,即调用默认的信号处理函数处转载 2011-01-18 23:36:00 · 984 阅读 · 0 评论 -
linux 文件操作 简介
<br />linux文件操作所需包含的头文件为:<br />#include<sys/types.h><br />#include<sys/stat.h><br />#include<fcntl.h><br />这些头文件在usr/include文件夹里面。如果想要了解其中的内容可以进入相应的文件夹进行查看。<br /> <br />int creat(const char *pathname, mode_t mode) 创建普通文件的函数。<br />其中 pathname为要创建的文件的路径(包含文件原创 2011-01-16 14:30:00 · 1285 阅读 · 0 评论 -
链表逆置
单链表逆置SingleList* SingleList::reverseList(SingleList *head){ SingleList *tmp = head; if((head==NULL)||(head->next==NULL))return head; SingleList* pre = head->next; SingleList* cur = pre->next;原创 2011-10-23 22:08:56 · 580 阅读 · 0 评论