系统回顾
系统回顾
目录
系统编程回顾
-- 如果没有安装ubuntu,请先安装ubuntu,这里就讲一下换源
原生的 Ubuntu 他的源(下载网址)太慢了
我们一般安装完毕 Ubuntu 第一件事把源 换成国内源
可以换成: 华为 清华 阿里 ……
找到你的软件列表->软件和更新
-- 找到软件和更新
-- 之后整体更新所有库和软件全部到最新版,执行该指令
sudo apt-get upgrade
指令和常用工具(重点)
执行的程序,ls pwd cd ……
- chmod:修改权限
chmod +x ./test.c 给该文件执行权限
chmod 0777 ./test.c 给该文件全权限!
-
grep:在文本里面 查找字符串指令
-
在指定的文件夹内搜索指定的代码行
-- find: 寻找指定文件
-- killall
常用工具
makefile
-- 核心特点:
- 1、支持多线程并发编译!
- 2、支持选择性编译修改过的文件(Keil 快编译)
-- 单线程花费 25.5 S
-- 多线程花费 7.8S make -j 线程数(取决于你的 CPU 的线程)
-- 动态库静态库: 这两个回头讲
-- 编译器 gcc:
- -I(大写的 i): 指定外部头文件的路径
- -l(小写 L):指定链接什么库
- -L: 指定你链接库的路径
文件操作(重点)、时间编程
-- 文件操作你一定要会几个接口:
缓冲区:
fopen();//打开文件
fclose();//关闭文件
fread();//读取文件内容
fwrite();//写入文件内容
fseek();//偏移光标
ftell();//获取文件光标距离开头的位置
fseek(file,0,SEEK_END);
文件的大小 == ftell();
fseek(file,0,SEEK_SET);
非缓冲区:
open
close
read
write
- 标准 缓冲区内部内存缓冲,不直接操作文件 不适合于内部底层系统的操作 只适用于普通文件的操作(mp3 mp4 text)
- 非缓冲区直接操作文件本身 主要用于内部的文件操作: 套接字 进程通信 管道 设备文件:块设备 字符设备文件
-- 为什么要学习缓冲区和非缓冲区?
-
缓冲区是内部有内存缓冲,
-
非缓冲区是直接操作文件
多进程和IPC通信
-- 第一着重于守护进程:我们没讲
-- 信号:
- signal();->注册信号之后
- 可捕捉信号,进行回调(软中断)
fork
vfork
wait /waitpid
execl
-- 第二着重于:线程(重点)
多线程+同步互斥(重点)
-- 一个正常的项目都会用到的技术点!
哪有项目不是并发的!
线程项目最常用的技术之一!
- 线程的创建:
pthread_create();最需你掌握 必须掌握的函数
能效非常的高,创建快,销毁快,轻量级进程 通信较为简单直接暴力->全局变量
- 线程的正常退出:
pthread_exit();->尽量用该函数结束线程 线程的互斥和同步
- 互斥锁:
pthread_mutex_init()
pthread_mutex_destory();
pthread_mutex_lock();
phtread_mutex_unlock();
-
条件变量:
int pthread_cond_destroy();
int pthread_cond_init();
pthread_cond_signal
pthread_cond_wait -
信号灯:
较少用,实际上信号量
原则上你直接用 IPC 的信号量
效果是一样的
-- 原则之间线程之间毫无关系,但是如果一个线程出现段错误,其他线程都会出错
- 线程容易创建,难维护
网络编程
-- 驱动只有在做项目的时候会用到 浅浅给大家说一说接口 具体代码编写在项目中我们会重新写相关代码 前三周都用不到!只有在第四和第五周才会用到 用到时候我们到时候再复习一次!
-- 网络编程你需要掌握的接口:
- 1: socket();//套接字创建
- 2: bind();//绑定 IP 地址和端口号
- 3: connect();//链接服务器
- 4: listen();//监听 设置最大连接数
- 5: accept();//接受客户的链接,阻塞型代码
- 6: htons();//小端转大端(uint16_t)
- 7: innet_addr();//Ip 字符串转大端的整型 IP
具体用法我们后续用到的时候 再一一给大家复习
Select poll epoll
你现在需要知道他的意义何在? 为什么要学习 这三个函数? 假如说面试问了你这个文件 你该如何解答!
-
用一个线程 监控多个阻塞型的 IO 文件! 本来我做服务器 用多线程!
这样占用资源太大,资源开销过高!
危险性较高!
我们需要 poll epoll select 监管这些客户文件! -
驱动中也会再次见到 poll 驱动监管 设备文件!
原文地址:https://blog.csdn.net/m0_71813740/article/details/143656973
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!