unix环境编程学习笔记
wWX336815
这个作者很懒,什么都没留下…
展开
-
unix 环境编程学习代码记录
1:ls命令的简单实现(其中一个实现而已):int main(int argc,char *[] argv) { if(argc < 2){ cout <<"usage: ls directory_name"; exit(-1); } DIR *dp = NULL; struct dirent *dirp; if((dp...原创 2018-06-21 09:51:07 · 178 阅读 · 0 评论 -
open,dup,fork
1,文件共享打开文件内核数据结构 一个进程两次打开同一个文件 两个进程打开同一个文件2,复制文件描述符(dup、dup2、fcntl) 一,文件共享1,一个进程打开两个文件内核数据结构 补充:如果是fork之后则是文件描述符表被复制一份,但是指向同一文件表。二、复制文件描述符复制前: 复制后: ...转载 2018-09-05 11:39:18 · 194 阅读 · 0 评论 -
Linux c++,用信号量实现消费者生产者队列(代码可直接通过编译)
//用信号量实现的一个消费者生产者队列,#include <iostream>#include <pthread.h>#include <semaphore.h>#include <errno.h>#include <queue>using namespace std;const int WAITTIME = 10000;...原创 2018-10-31 15:43:18 · 593 阅读 · 0 评论 -
回收子进程的两种方法
#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <stdlib.h>#include <pthread.h>#include <errno.h>#include <sys/wait.h>void sigchld(原创 2018-12-24 10:30:12 · 860 阅读 · 0 评论 -
关于fork函数的两个小问题记录下
1,vfork如果调用后没有执行exec,会导致进程非正常退出,所以必须调用exec函数族或者exit2, fork后父进程的文件描述符表(进程级)也会被复制到子进程中,二者共享同一个文件表(内核级,不会复制。类似于dup函数)文件描述符表:进程级 fd flags,file pointers fd 0: fd1:文件表:内核级 ...原创 2018-12-26 10:03:07 · 203 阅读 · 0 评论 -
写文件的各种标记含义
r 打开只读文件,该文件必须存在。r+ 打开可读写的文件,该文件必须存在。w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会...原创 2019-04-25 12:00:52 · 556 阅读 · 0 评论 -
linux 静态库,动态库简单使用示例
nm 命令可以看二进制文件的符号预编译 去掉宏 gcc -E hello.c -o hello.i编译 高级语言-->汇编 gcc -S hello.i汇编 汇编-->目标文件 gcc -c hello.s链接 gcc hello.o -o hello.h 源码头文件.c 预处理前的源码.i 预处理后的源码.s 汇编语言文件.o 目标文件.a 静态库.s...原创 2019-06-23 14:06:43 · 249 阅读 · 0 评论