![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
系统编程
MAKE_TROUBLE
I STILL
展开
-
linux 系统编程-学习笔记2-文件I/O-open-read
1.open原创 2014-09-28 15:56:06 · 759 阅读 · 0 评论 -
linux系统编程-学习笔记3-dup/dup2/stat/lstat/fstat
/*文件重定向:用于文件共享*/int dup(int oldfd);int newfd = dup(oldfd)把文件描述符newfd重定向到文件描述符oldfd指向的文件,之后,可以通过newfd对文件test进行操作注意: newfd是由系统自动返回[当前,未用,最小]int dup2(int oldfd, int newfd);把文件描述符newfd原创 2014-09-28 20:45:20 · 870 阅读 · 0 评论 -
linux 系统编程-学习笔记9--线程的同步互斥锁、读写锁/select/poll
线程的同步:解决方式:1.互斥锁 2.读写锁进程的同步:记录锁多个进程对同一个文件操作int fcntl(int fd, int cmd, ... /* arg */ );通过文件描述符根据cmd选项对文件进行操作cmd:F_DUPFD : 复制一个现有的文件描述符F_SETLKW : 设置记录锁struct flock {...shor原创 2014-10-21 20:11:50 · 862 阅读 · 0 评论 -
linux 系统编程-学习笔记7-进程/fork/vfork/exec函数族
u-boot ==>Image ==>根文件系统==>init进程(1)==>exec执行进程==>启动代码==>main{==>传入环境变量exit/return ==>1)刷新缓冲区,2)关闭所有打开的文件描述符,3)调用清理函数 ==>系统_exit/_Exit ==>系统}===========================================原创 2014-10-10 20:23:08 · 829 阅读 · 0 评论 -
linux 系统编程-学习笔记6-main函数/atexit函数/动态库、静态库/
_________________________________________________________________________________________________________main函数【进程】结束,会做那些事情?exit/returnexit(0)/return 0 ; 正常返回exit(-1)/return -1;异常返回=====原创 2014-10-10 20:11:50 · 762 阅读 · 0 评论 -
linux 系统编程-学习笔记1
常用3本man手册:第一本:man 1 printf => 命令第二本:man 2 open => 系统函数第三本:man 3 printf => c库函数void perror(const char *s);char *strerror(int errnum);当函数调用错误的时候,会返回一个错误号errno ===>调用函数perror ===原创 2014-09-25 19:41:37 · 660 阅读 · 0 评论 -
linux系统编程-学习笔记4-chmod/access/chown/link/truncate
int access(const char *pathname, int mode); :通过mode 判断文件pathname是否存在,可读可写可执行 pathname: 文件名 mode : F_OK : 文件存在R_OK : 文件可读W_OK : 文件可写X_OK : 文件可执行RETURN VALUEOn success (all reque原创 2014-09-29 20:09:31 · 729 阅读 · 0 评论 -
linux系统编程-学习笔记5-opendir/readdir/getcwd
操作普通文件:标准I/O操作:fopen ===> rewind===>fread/fwrite ===>fclose文件I/O :open ==> lseek(fd) ==>read/write =>closelinux下一切皆文件如何操作目录文件:(c库函数)DIR *opendir(const char *name);原创 2014-10-06 10:45:37 · 651 阅读 · 0 评论 -
linux 系统编程-学习笔记10--进程间通信--管道/FIFO/消息队列/
linux:进程间资源共享: ===>进程间通信:1.管道1)无名管道:同一台主机:在具有亲缘关系的进程间通信(半双工通信:一端要么读要么写,不能同时读写)亲缘关系:1.父、子进程 2.具有同一个父进程的两个子进程调用pipe在内核中建立一个无名管道,会有固定的读端和写端int pipe(int pipefd[2]);int pip[2];p原创 2014-10-21 20:12:59 · 794 阅读 · 0 评论 -
Linux--进程间通信(管道及有名管道FIFO)
一. 管道: 1.只能用于具有亲缘关系的进程之间的通信 2.半双工通信模式 3.一种特殊的文件,是一种只存在于内核中的读写函数 管道基于文件描述符,管道建立时,有两个文件描述符:a. fd[0]: 固定用于读管道b. fd[1]: 固定用于写管道 创建管道:pipe() 一般步骤:1.转载 2016-03-09 16:27:58 · 667 阅读 · 0 评论