- 博客(19)
- 收藏
- 关注
原创 单片机初级(持续更新)
单片机是一种单片微型计算机的简称(MCU),采用集成电路技术将有数据处理能力的中央处理器、随机存储器、只读存储器、定时器/计时器、多种IO口与中断系统等功能集成在一块硅片上。
2024-09-23 20:44:00
1869
原创 c++知识点总结
异常是程序运行中产生的问题,并非语法问题,例如at函数越界。异常一旦出现且不被正确处理就会造成程序崩溃。处理异常有两种方式:1、抛出异常 2、捕获异常继承自标准异常,由程序员自己定义#include <stdexcept> // 标准异常/*** 自定义异常类继承标准异常类*/public:// throw()表示异常规格说明// 告诉编译器此函数不会抛出异常return "除数不能为0";int main()// 捕获成功try。
2024-09-05 19:04:53
1490
原创 C++知识点总结
1、在支持C语言的基础上,全面支持面向对象编程2、编程领域广泛,功能强大3、C++语言标准一直在保持更新4、支持底层操作的面向对象编程语言5、在面向对象编程语言中执行效率高class Demopublic:// 类内声明Demo();// 类外定义cout
2024-09-02 15:09:33
1803
2
原创 IO 进程——管道
1)只能用于亲缘关系间的通信2)半双工通信模式,拥有读端与写端3)管道是一种特殊的文件,对它的读写可以使用文件IO,如read,write4)管道是基于文件描述符的通信方式。当一个管道建立时,它会创建两个文件描述符fd[0](读管道)与fd[1](写管道)5)不支持sleek操作。
2024-08-05 19:23:57
870
原创 IO进程问题之死锁与进程间通信
3)只有管道的读端存在时,向管道中写数据才有意义,否则会导致管道破裂,向管道中写入数据的进程将会收到来自内核传来的SIGPIPE信号:Broken pipe 错误(管道破裂)死锁是指两个或者两个以上的线程/进程在执行过程中,由于存在竞争资源或者由于彼此通信而造成的一种阻塞现象,若没有外力协调,他们都无法进行。4)、循环等待,即存在一个等待队列:P1占有P2的资源,P2占有P3的资源,P3占有P1的资源。1)当没有条件产生时pthread_cond_wait函数会阻塞,同时会将锁解开;
2024-08-02 20:36:44
349
原创 线程同步与线程互斥
1、获取线程ID功能:获取线程号返回值:线程ID2、分离线程函数功能:使线程分离,线程退出时让系统自动回收线程资源参数:线程ID子线程在退出的时候,主线程没有给子线程回收资源的话,线程会变成僵尸线程。使用方式:1)在主线程中调用pthread_detach(tid);2)在子线程中调用pthread_detach(pthread_self());注意:1)如果线程已经设置了分离状态则再调用pthread_join时就会失败。
2024-08-01 20:00:16
898
原创 IO文件——库——进程
程创建后,进程进入就绪态,当CPU调度到此进程时进入运行态,当时间片用完时,此进程会进入就绪态,如果此进程正在执行一些IO操作(阻塞操作)会进入阻塞态,完成IO操作(阻塞结束)后又可进入就绪态,等待CPU的调度,当进程运行结束即进入结束态。该类进程经常与用户进行交互,需要等待用户的输入,当接收到用户的输入后,该类进程会立刻响应,典型的交互式进程有:shell命令进程、文本编辑器等。3、默认打开三个流:标准输入、标准输出、标准错误。进程:是程序的一次执行过程,进程是动态的,包括创建,调度,执行,消亡。
2024-07-30 20:16:56
706
原创 IO进程函数
功能:向文件中写入字符 参数:c:要输入的字符;a+:可读可写,文件不存在则创建文件,存在则追加,开始数默认从头开始读,进行写时流被定位在文件结尾。w+:可读可写,文件不存在则创建新文件,存在则清空文件,流被定位在文件开头。a:追加,文件不存在则创建文件,存在则在文件结尾追加,流被定位在文件结尾。功能:判断读取文件时是否读到了文件结尾 返回值:非0表示读到文件结尾。w:只写,文件不存在则创建文件,存在则清空文件,流被定位在文件开头。返回值:成功:读取对象的个数 失败或者读取到文件结尾:0。
2024-07-26 20:40:11
728
原创 Linus编译工具
make: 工程管理器,顾名思义,是指管理较多的文件。make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能构根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件文件的内容来执行大量的编译工作。Makefile或makefile时make读取的唯一配置文件。一般用大写表示变量名,取值用$1) = 递归方式2) :=直接赋值3) +=追加新值4)?=判断之前变量是否被定义,若没定义则重新赋值;若定义了则不重新赋值。
2024-07-11 19:20:45
742
原创 Linux命令
2、查看内核版本uname -r二、分层结构应用层:程序、命令内核层:五大功能:进程管理、设备管理、内存管理、网络管理、文件系统管理驱动:字符设备驱动(鼠标、键盘)、块设备驱动(硬盘、U盘)、网络设备驱动。三、dpkg工具sudo dpkg -i 软件包全称:安装状态sudo dpkg -s 软件包名:显示软件的安装状态sudo dpkg -r 软件包名:卸载软件sudo dpkg -P 软件包名:卸载软件,重新安装不会保留上次配置。
2024-07-08 19:06:35
551
原创 数组与指针
1、const常量化:只能读,不能被修改。用法:const int a=10;//此时a不能再被直接修改。但是,可以通过地址来对a进行修改,例如:int *p=&a;*p=20;此时,输出的a就成了20。
2024-07-02 19:58:24
471
原创 二维数组以及指针
存储类型数据类型* 变量名;例intp;//指针变量p2.指针和所指变量的关系int a=10;int *p=&a;apap3.指针的操作符取地址取内容p指针变量的地址*&aa;&*a;错误4.初始化。
2024-07-01 19:58:41
952
原创 数组应用以及排序
字符串用“ ”括起来,以 '\0' 作为结束标志,在定义元素个数时,需要把 '\0' 考虑上。sizeof(数组名):此函数用来求得相应数组开辟空间的大小。//要交换的是 最小元素 和 最左边位置。方法二:使用 strlen函数。方法一:用for循环遍历。3.2 实际元素的个数。
2024-06-28 19:22:08
919
原创 关于变量、常量、分支结构、循环结构
在运行过程中会发生变化的量。存储类型:决定了存储变量的位置。数据类型:觉醒了变量开辟的空间大小。数据类型字节大小char字符型1int整型4short短整型2long长整型32位:4;64位:8float单精度浮点型4double双精度浮点型8如何查询变量的大小:使用sizeof语句。(ps:1字节=8位)局部变量与全局变量的区别:局部变量全局变量定义位置函数体内部函数体外部初值未初始化时,值为随机值未初始化时,值为0存储位置栈区全局区。
2024-06-26 18:51:52
894
原创 计算机数据
存储类型:auto(自动变量)、static(只作用于本文件或函数中,在不同文件或函数中可重复定义同名变量)、register(寄存器变量)、extern(外部类变量声明)(4)置一公式:A|(1
2024-06-25 19:38:42
705
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人