- 博客(24)
- 收藏
- 关注
原创 Red hat5编译内核make menuconfig出现的一系列问题的解决HOSTCC scripts/basic/fixdep /bin/sh: line 1: gcc: command not
cd /mnt/cdrom/Server/ls gcc*rpm -ivh gcc-4.1.2-14.el5.i386.rpm提示安装依赖包:[root@localhost Server]# rpm -ivhgcc-4.1.2-14.el5.i386.rpmwarning: gcc-4.1.2-14.el5.i386.rpm: HeaderV3 DSA signature: NOKEY...
2020-04-24 08:48:43
1712
原创 消息队列的删除
#include"sys/types.h"#include"sys/msg.h"#include"signal.h"#include"unistd.h"#include"stdio.h"#include"stdlib.h"int main(){ int msgid; msgid=msgget(IPC_PRIVATE,0777); if(msgid <0) { pri...
2020-02-14 16:49:50
1585
原创 消息队列的创建
#include"sys/types.h"#include"sys/msg.h"#include"signal.h"#include"unistd.h"#include"stdio.h"#include"stdlib.h"int main(){ int msgid; msgid=msgget(IPC_PRIVATE,0777); if(msgid <0) { pri...
2020-02-14 16:49:06
373
原创 共享内存实现父子进程通信
父进程在内核空间创建了一个共享内存,通过fork函数,父子进程通过fork函数继承了shmid,所以父子进程可以对内核中同一个对象操作,刚开始父进程不断往对象里写,然后开始发信号SIGUSR1给子进程,让子进程读。对于子进程来说,刚开始睡眠,等待父进程写,然后被内核唤醒,读共享内存。此时父进程开始睡眠,当子进程读完后,将父进程唤醒,父进程唤醒后继续写……一直循环(父子进程都通过shmat映射到自己...
2020-02-14 15:00:55
2504
2
原创 删除共享内存
#include"stdio.h"#include"sys/types.h"#include"sys/shm.h"#include"signal.h"#include"unistd.h"#include"stdlib.h"#include"string.h"int main(){ int shmid; int key; char *p;//shmat的返回值 key=fto...
2020-02-14 14:45:20
1038
原创 IPC通信(1)共享内存
共享内存的打开/创建#include"stdio.h"#include"sys/types.h"#include"sys/shm.h"#include"signal.h"#include"unistd.h"#include"stdlib.h"int main(){ int shmid; shmget(IPC_PRIVATE,128,0777); if(shmid <0)...
2020-02-14 10:46:36
103
原创 信号处理signal
#include"stdio.h"#include"sys/types.h"#include"signal.h"#include"stdlib.h"#include"unistd.h"void myfun(int signum){ int i; i=0; while(i <10) { printf("处理信号%d\n",signum); sleep(1);//每打...
2020-02-14 09:03:40
188
原创 信号通信接受信号(1)pause
#include"stdio.h"#include"sys/types.h"#include"signal.h"#include"stdlib.h"#include"unistd.h"int main(){ int i; i=0; printf("pause before\n"); pause();//会使进程睡眠,所以不会执行完下面的语句 printf("pause aft...
2020-02-13 22:21:35
223
原创 信号通信alarm
定时器的实现#include"stdio.h"#include"sys/types.h"#include"signal.h"#include"stdlib.h"#include"unistd.h"int main(){ int i; i=0; printf("alarm before\n"); alarm(9); printf("alarm after\n"); whil...
2020-02-13 22:10:06
252
原创 信号通信raise
raise函数用法#include"stdio.h"#include"sys/types.h"#include"signal.h"#include"stdlib.h"#include"unistd.h"int main(){ printf("raise before\n"); raise(9);//收到这个信号后会终止进程 printf("raise after\n"); ...
2020-02-13 22:03:16
248
原创 信号通信的kill
用kill命令杀死进程#include"stdio.h"#include"sys/types.h"#include"unistd.h"#include"signal.h"#include"stdlib.h"int main(int argc,char *argv[]){ int sig; int pid; if(argc <3)//从键盘接受至少2个参数,一个进程号,一个...
2020-02-13 20:52:04
132
原创 mkfifo用法
通过管道实现无亲缘进程间通信#include"stdio.h"#include"unistd.h"#include"sys/types.h"#include"sys/stat.h"#include"stdlib.h"int main(){ for(i=0;i<5;i++) { printf("这是第一个进程i=%d\n",i); usleep(100); } w...
2020-02-13 19:51:17
454
原创 FIFO多次创建失败后成功了
创建管道文件mkfifo#include"stdio.h"#include"unistd.h"#include"stdlib.h"int main(){ int ret; ret=mkfifo("./myfifo",0777); if(ret <0) { printf("创建myfifo文件失败\n"); return -1; } printf("创建myfif...
2020-02-13 17:43:23
850
1
原创 文件管道符pipe
#include"stdio.h"#include"unistd.h"#include"stdlib.h"int main(){ int fd[2]; int ret; ret=pipe(fd); if(ret <0) { printf("创建管道失败\n"); return -1;//直接退出 } printf("创建管道成功 fd[0]=%d,fd[1]%d...
2020-02-13 15:24:23
229
原创 IO例子
例子:单机模式下的文件上传和下载,单机是指在一台电脑上操作,服务器有一个共享目录,客户端能将文件上传到服务器的共享目录,也能从服务器的共享目录中下载文件到自己的客户端。1、输入服务器的地址:路径和目录名2、列出服务器中有哪些文件:涉及目录io的内容:opendir reddir3、输入从服务器下载的文件名 或 上传文件到服务器的文件名4、文件下载文件IO:open read...
2020-02-13 12:53:30
111
原创 目录IO(2)
用命令IO实现opendir和closedir#include"stdio.h"#include"sys/types.h"#include"dirent.h"int main(){ int ret; DIR *dp;//目录指针dp ret=mkdir("./aa",0777);//当前目录下创建mydir目录,权限是0777 if(ret <0) { printf(...
2020-02-13 10:10:57
85
原创 目录IO(1)
用目录IO实现mkdir一个目录文件IO涉及这两个头文件定义#include"sys/types.h"#include"dirent.h"#include"stdio.h"#include"sys/types.h"#include"dirent.h"int main(){ int ret; ret=mkdir("./aa",0777);//当前目录下创建mydir目录,权限是0...
2020-02-13 09:12:23
91
原创 动态库函数
动态库函数的制作:1、生成目标文件:gcc -c file.c2、gcc -shared -fpic -o libfile.so file.o其中-fpic:产生位置无关代码-shared:生成共享库用上述命令生成libaddsub.so动态库函数gcc -o out main.c -L. -lfile此时不能立即./out输出,因为在动态库函数使用时,会查找/usr/lib ...
2020-02-13 08:48:29
566
原创 静态库的制作和使用
ku1.c的文件#include"stdio.h"int main(){ int ret;//设置一个返回值 int x,y; x=10; y=5; ret=sub(x,y);//调用sub库函数,x-y printf("ret=%d\n",ret); return 0;}sub.c库函数文件int sub(int x,int y){ return (x-y);}...
2020-02-13 08:01:05
93
原创 标准IO(3)
用fputc和fgetc实现cat命令#include"stdio.h"#include"unistd.h"#include"string.h"int main(int argc,char *argv[]){ FILE *src_fp; int read_ret;//读的返回值 if(argc <2)//如果命令行参数<2,则输入源码,用cat命令时需要两个命令 {...
2020-02-12 19:34:56
172
原创 标准IO
用标准IO实现touch一个文件#include"stdio.h"int main(int argc,char *argv[]){ FILE *fp;//定义一个文件流指针fp fp=fopen(argv[1],"w+");//从命令行写入文件名,以读写方式打开,文件不存在则创建 if(fp==NULL) { printf("creat file %s failure\n",arg...
2020-02-12 16:43:14
78
原创 文件IO
自己看滴。。咳咳#include"stdio.h"#include"unistd.h"int main(){ char buf[]="hello linux";//定义了一个数组 buf,内容是……用户空间的缓存 write(1,buf,sizeof(buf));//将内容写入内核,写到标准输出,fd(文件描述符)是0,输出是1,写buf,写多少个 return 0;}通过标...
2020-02-12 13:44:07
70
原创 嵌入式---文件IO的学习
标题文件IO的学习(自己复习用的,错误请指出)用代码实现linux中cp复制的功能#include"stdio.h"#include"unistd.h"#include"fcntl.h"#include"string.h"int main(int argc,char *argv[])//int argc是记录你在命令行敲入的字符串个数,char *argv[]是存放你写入是字符串{...
2020-02-12 12:50:07
269
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人