![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式Linux网络编程
Glaciersc.
这个作者很懒,什么都没留下…
展开
-
exit(0/1)相关
首先介绍一下:exit(0): 正常执行程序并退出程序。exit(1): 非正常执行导致退出程序。其次介绍:stdlib.h头文件中 定义了两个变量:#define EXIT_SUCCESS 0#define EXIT_FAILURE 1最后介绍:exit(EXIT_SUCCESS)&n...转载 2020-05-26 19:34:21 · 111 阅读 · 0 评论 -
嵌入式Linux网络编程·笔记9·网络
TCP服务器实现过程 (1)创建套接字:socket函数 (2)给套接字绑定ip地址和端口号:bind函数 (3)将套接字文件描述符,从主动变为被动文件描述符(做监听准备):listen函数 (4)被动监听客户的连接并响应:accept函数 (5)服务器调用read(recv)和write(send),收发数据,实现与客户的通信 (6)调用close或者shut...原创 2020-04-27 20:23:57 · 126 阅读 · 0 评论 -
嵌入式Linux网络编程·笔记8·mutex线程互斥锁+sem线程信号量
二十八、mutex线程互斥锁1、pthread_mutex_init初始化互斥锁1、头文件:#include<pthread.h>2、函数原型:int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);3、函数形参: mutex:互斥...原创 2020-04-17 16:44:54 · 341 阅读 · 0 评论 -
嵌入式Linux网络编程·笔记7·多线程(未完)
线程·概述1、线程是任务调度和执行的基本单位。2、进程实现多任务缺点: (1)进程间切换的计算机资源开销很大,切换效率非常低 。 (2)进程间数据共享的开销也很大(系统资源消耗快)。3、线程和进程的关系 (1)定义:线程是进程的一个执行单元(一个进程中可有多个线程),是进程内的调度实体。是比进程更小的独立运行的基本单位。线程也被称为轻量级进程。 (2)空间:...原创 2020-04-09 00:38:30 · 163 阅读 · 0 评论 -
嵌入式Linux网络编程·笔记6·sem(信号量API)
二十三、sem(信号量API)1、作用:当多个进程/线程进行共享操作时,用于资源保护(互斥+同步操作),以防止出现相互干扰情况,解决方法->加锁。 注:互斥:该进程在操作时其他进程不能操作,不关心操作的顺序问题; 同步:多个共享操作时,进程必须要有统一操作的步调,按照一定的顺序来操作。2、信号量的使用步骤: (1)进程调用semget函...原创 2020-04-01 20:46:01 · 422 阅读 · 0 评论 -
嵌入式Linux网络编程·笔记5·msg(消息队列API)
二十二、msg(消息队列API)1、消息队列的特点:(1)传送有格式的消息流;(2)多进程网状交叉通信时,消息队列是上上之选; (3)能实现大规模数据的通信。1、msgget(创建/获取消息队列)1、 头文件:#include <sys/types.h> #include <sys/ipc.h> #include <sys/msg...原创 2020-04-01 20:42:19 · 548 阅读 · 0 评论 -
嵌入式Linux网络编程·笔记4·进程间通信
1.进程创建:fork、system、exec函数族(execl、execv)。2.进程退出:exit、_exit。3.进程等待:wait(用于处理僵尸进程)。4.三种特殊进程: (1)僵尸进程:父进程退出,未调用wait等待子进程退出,子进程资源无法回收。 (2)孤儿进程:父进程退出,子进程仍然继续运行,交给init进程进行资源回收。 (3)守护进程:后...原创 2020-03-25 17:27:18 · 95 阅读 · 0 评论 -
嵌入式Linux网络编程·笔记4·多任务进程概念+fork函数
1、什么是多任务?--系统可响应多个任务。 (1)平台:单个CPU(一个核)同一时刻只能处理一条语句。 (2)任务:n个任务。 (3)一个任务在执行过程中,可以暂停执行,然后cpu执行其他任务。2、单任务:一个任务执行结束之后,另一任务才能开始。 3、多任务并发处理(单核):抢占式-中断(实时性)、非抢占式-时间片轮转(非实时性)。 CPU轮换的执行,当前进程执行...原创 2020-03-18 14:33:54 · 195 阅读 · 0 评论 -
嵌入式Linux网络编程·笔记3·系统调用篇(二)
七、fcntl(操作文件的特性)1、头文件:#include <unistd.h> #include <fcntl.h>2、函数原型:int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); in...原创 2020-03-12 19:58:25 · 143 阅读 · 0 评论 -
嵌入式Linux网络编程·笔记2·系统调用篇(一)
一、Create1、头文件:#include<sys/types.h> #include<sys/stat.h> #include<fcntl.h>2、函数原型:int create(const char *pathname, mode_t mode);3、函数内形参:创建文件名(路径)、文件权限(RWX, 0655当前用户RW...原创 2020-03-04 22:38:50 · 358 阅读 · 0 评论 -
嵌入式Linux网络编程·笔记1·Linux C 文件编程
Linux C 文件编程 – Linux I/O编程1.为什么称为I/O编程? Linux一点哲学:一切皆为文件。2.硬件设备也被抽象为文件:对硬件的操作=对硬件I/O操作=对文件的操作。3.Linux为什么会选择把所有资源抽象成文件? 1)文件本质就是字符流 – 二进制; 2)文件的操作比较简单:打开、读、写、关闭、设置文件的属性(w/r/a/+);...原创 2020-02-27 20:23:03 · 197 阅读 · 0 评论