- 博客(43)
- 收藏
- 关注
原创 嵌入式day37
将现实中大量而复杂的问题以特定的数据类型和特定的存储结构存储在内存中,并在此基础上实现某个特定的功能的操作。散列存储(哈希存储):将数据元素的存储位置与关键码之间建立确定对应关系从而实现查找的存储方式(方便查找)一组用来保存一种或者多种特定关系的数据的集合(组织和存储数据)索引存储:通过关键字构建索引表,通过索引表来找到数据的存储位置。线性结构:元素之间一对一的关系(表(数组、链表),队列,栈)数据的物理结构:数据的逻辑结构在计算机内存中的存储形式。数据的逻辑结构:数据元素与元素之间的关系。
2024-09-03 20:23:10
549
原创 嵌入式day36
专业存储数据、大量数据数组、链表、变量---->内存:程序运行结束、掉电数据丢失文件---->硬盘:程序运行结束、掉电数据不丢失数据库---->硬盘。
2024-08-29 20:58:47
1268
原创 嵌入式学习day35
IO多路复用(IO多路转接)1.多个IO复用一个进程selectpollepoll1.创建文件描述符集合2.添加文件描述符到集合中3.通知内核开始检测4.根据返回的结果做对应的操作(对IO读、写操作)特点:1.多个IO复用一个进程,不创建新的进程和线程,效率高2.不适合处理比较耗时的任务应用场景:1.构建并发服务器,使用IO多路复用监测多个客户端套接字2.使用IO多路复用监测多个IO所对应的通信(如:网络、串口、can...)3.在阻塞IO中,进行超时监测。
2024-08-28 20:42:38
669
原创 嵌入式学习day33
面向字节流特点,会造成可能数据与数据发送到一块,成为粘包,数据之间不区分。在底层下面,socket 会在发送数据会等一下,时间到了就一次性发送。因为缓冲区的大小,一次性发送的数据会进行拆分(大小不符合的时候)字节流就是像水一样,一个接着一个往过流,字节流,紧挨着,根据端口过滤:tcp.srcportXX;1.规定一些数据与数据之间的间隔符。# 查看 telnet服务是否开启。2.可以指定要发送的数据的长度。导致,可能多次的数据粘到一起。数据与数据之间没有边界感。3.自己将数据包打包。如果与的关系:and。
2024-08-23 20:37:59
480
原创 嵌入式day32
嵌入式学习第三十二天,今天讲了UDP剩余部分的内容,了解了两个进程间的通信。还学习了TCP的相关知识,其中包括TCP客户端和服务端的相关知识,以及关于TCP函数的认识和使用。后面继续加油。
2024-08-22 21:49:40
2281
原创 嵌入式day31
嵌入式学习第三十一天,前两天结束了mplayer项目,今天讲了进程剩下的东西,IPC进程间的通信,再学习了网络通信的相关知识,了解了OSI七层协议,进行了c/s编程。后面继续加油了。
2024-08-21 21:35:54
2223
原创 嵌入式day30
嵌入式学习第三十天,今天学习了关于有名管道和信号这两种管道通信方式,有名管道即有名字的特殊的文件,其可以实现不同.c间的通信,而信号只能发出指定的信号,其中有两个较为特殊的信号,即SIGKILL SIGSTOP,这两个不能被阻塞,处理和忽略。后面继续加油!
2024-08-17 19:21:01
633
原创 29信号量和进程间通信
嵌入式学习第二十八天,今天学习了信号量的有关知识,信号量用来描述可使用资源的个数,通过定义信号量,可以实现线程间的顺序操作,通过PV操作,实现资源的获取和释放。同时也了解了关于进程间的通信方式,一共有7种,其中最高效的是共享内存,而今天学习了管道的使用,通过创建管道,可以实现不同进程之间的通信。后面的学习继续努力,加油。
2024-08-16 19:48:44
1258
原创 嵌入式day28
嵌入式学习第二十八天,今天学习了关于线程的退出以及退出后线程资源的回收,同时也对比了进程与线程之间的关于创建,调度和安全性的优缺点。也学习了关于线程之间的资源竞争问题,面对互斥的线程使用同一全局变量时,需要给线程进行加锁操作,当然加锁后也要进行解锁和锁的销毁。最后讲了死锁的相关知识,要了解死锁产生的四个必要条件以及死锁的应对方法。今天最后复习了前面c语言指针方面的一点知识,发现自己不及时复习之前的知识,遗忘很多,后面还是要对自己薄弱的知识方面进行及时的查漏补缺。后面继续加油吧!
2024-08-15 20:44:02
1851
原创 嵌入式day27
嵌入式学习第二十七天,今天讲了关于进程结束后退出时父进程对子进程的资源回收,有两个函数可以实现,其中waitpid可以使父进程非阻塞。之后还学习了多任务技术,线程的知识。线程是轻量级的进程,还学习了关于线程的一些函数,线程的创建,运行,结束和等待结束。后面继续加油!
2024-08-14 20:09:03
1127
原创 嵌入式day26
嵌入式学习第二十六天,今天学习了关于进程创建好好后操作,比如子承父业和自力更生,在自立更生的时候,就要使用exec函数家族来进行编程。关于程序的终止,也有如上的三个函数进行关闭,还有对子程序的收尸wait函数。后面的内容越来越深入,要继续加油,保持状态。
2024-08-13 21:12:57
604
原创 嵌入式day25
嵌入式学习第二十五天,今天学习了新的内容,进程 的相关知识。进程就是正在运行中的程序,进程是静态的。也学习了一些关于查询linux系统进程的一些命令,还有创建进程的函数fork。后面的进程学习将会持续一周,继续加油!
2024-08-12 20:07:46
916
原创 嵌入式学习day24
嵌入式学习第二十四天,今天学习了调试器gdb的使用方法,也完善了昨天的minishell小项目,将程序的小问题解决,使程序更加完整,也完成了小项目对应的设计文档。下周将开启新的学习,继续加油吧!
2024-08-10 16:15:26
559
原创 嵌入式day23
嵌入式学习第二十三天,今天做了个小项目,实现minishell,编写项目过程中遇到了很多的问题,也深刻意识到了自己这周的文件方面的学习还存在很多的问题,需要及时调整,及时改正,明天继续完善程序,加油!
2024-08-09 19:40:43
646
原创 嵌入式day22
嵌入式学习第二十二天,今天继续学习了文件的相关函数以及makefile的编写。文件部分函数很多,需要记住每个函数的用途,并且能用men手册查询出来并正确运用,其中较为重要的有fgets,fputs的cp,read,write的cp,以及ls和ll,其余函数也要有所记忆和了解,要及时复习。后面继续加油!
2024-08-08 20:11:33
1017
原创 嵌入式day21
嵌入式学习第二十一天,今天学习了关于目录的操作,比如打开,读取,关闭目录,还有目录的ls,ll以及stat等的相关函数,文件目录mode的编写有些繁琐,需要记住其中的注意事项。后面每天都会涉及很多新函数,要继续加油呀!
2024-08-07 18:38:25
730
原创 嵌入式day20
嵌入式学习第二十天,今天学习了标准IO后面剩余的部分,同时也学习了文件IO的一些函数,还有标准IO的缓冲区的概念,要熟记缓冲区输出的条件。后面的学习继续加油啦!
2024-08-06 20:21:21
585
原创 嵌入式day19
嵌入式学习第十九天,今天讲了标准IO,其中有很多的输入输出函数,最常使用的就是fgets和fputs,要熟练掌握其类型以及应用,为后面的学习打下基础,加油!
2024-08-05 20:49:41
494
原创 嵌入式day18
嵌入式学习第十八天,今天开始了新的一轮学习,Linux系统编程。今天学习了shell脚本,有很多有趣的新知识,其语法也与c语言不同。后面在学习系统编程的过程中也要及时复习c语言的相关知识,正所谓温故而知新,继续加油吧!
2024-08-03 18:30:01
616
原创 嵌入式day17
嵌入式学习第十七天,今天c语言全部结束,做了个小测试发现自己c语言方面的还是有许多欠佳的地方,很多东西的概念都不是很清晰,全都是一知半解的,所以很多题目没有头绪,还有就是各种常用的算法记忆也不是特别牢固。所以后面的学习还是要经常回过头来复习c语言方面的知识,多想多练,后面继续加油吧
2024-08-02 19:57:09
663
原创 嵌入式day15
若getMem(s)未取地址,则s为野指针,s的基类型为char * 型,指针传参时,形参需要一个指针*p来接受,getMem函数中,char * 为基类型,* 只是为了说明p为一个指针。嵌入式学习第十五天,今天结束了指针的学习,指针后面这部分的应用,比如数组指针,指针数组,指针的指针等都很难理解,也非常绕,还需要多强化强化。(数组首元素地址,数组元素个数,一个元素所占的字节,描述比较大小的关系(返回值为int型))当一个指针的数组作为实参传递时,对应的形参为指针的指针。函数的函数名,即为函数的入口地址;
2024-07-31 20:02:41
603
原创 嵌入式day14
先设置基准数(begin),从右往左找,第一个比基准数小的数,从左往右找,第一个比基准数大的数,互换两个数,重复刚才的操作,直到p ,q 相遇,内层循环结束后,将p,q所指的元素与基准数交换。嵌入式学习第14天,今天学习了字符型指针以及迭代器的使用,指针的使用进度又进一步,明天将迎来最难的指针部分的挑战,必须打起十二分的精神来,加油加油!分配动态内存,参数为,需要的内存空间大小的字节,申请的字节一定是连续的,返回需要空间的首字节地址(申请的空间在堆区)两个指针间不能进行加法,乘除求余运算。
2024-07-30 20:23:35
624
原创 嵌入式day11
嵌入式学习第十一天,今天的内容为函数中的数组作为函数参数,有一些要注意的点,比如函数形参实参传递的规则,以及返回值的书写。今天的大部分内容为训练数组函数的封装和调用怕,要熟悉运用之前学过的各种循环语句。二维数组作为函数参数传递时,传递为函数的首元素地址,即第一行16个字节的首地址,无法计算出行数,可以计算出列数,所以需要通过函数参数传递行数,必须准确规定函数的列数。数组传递的为a[0]的地址,即指针传参,所以可以在被调函数中修改主函数的值(数组传参不是拷贝数组,而是传递数组首元素地址,传递效率高于值传递)
2024-07-26 19:37:43
517
1
原创 嵌入式day8
排序的目的:为了更方便地查找二分查找法:每次筛选原来的一半,重复多次先排序:再查找:html :超文本标记语言字符串(文本):“Hello” :字符串常量字符串结束标志 : \0(空字符)单一性 : 每个字符只占一个字节有序性: 每个字符按先后顺序排列连续性: 连续的内存空间形式:字符数组: 专门用来存放字符串的容器char s[100] = “Hello”; 使循环结束的条件为 ‘\0’
2024-07-23 18:52:30
522
原创 嵌入式day7
类型说明符 数组名[常量表达式]如:float s[10000];数组名符合标识符的一般规则,常量表达式表示该数组的个数,类型可为已有的除void(空类型)所有的数据类型,常量表达式必须为整型常量(至少为1)
2024-07-22 20:34:54
837
原创 嵌入式day6
嵌入式学习第六天,第一周也结束了,这一周还是非常充实的,也学到了很多的新东西,当然也是要及时复习的,温故而知新,也要把重要的概念和注意事项多记记。先对表达式1求值,只做一次,再对表达式2求值(逻辑或关系表达式),为真(1),执行循环体,再执行表达式3,直到表达式2为假(0),结束循环。for语句中,break跳出循环的同时不会执行表达式3,while也类似(循环断路)无表达式2,表示循环条件恒为1(死循环)表达式3也可加入循环体。先判断表达式(关系或逻辑表达式),后执行语句(循环体)
2024-07-20 23:04:35
436
原创 嵌入式day5
嵌入式学习第五天了,今天的选择结构非常实用也非常好玩,但是注意事项还是要记牢的,明天就是循环结构了,继续加油!c语言没有专门的数据类型表示逻辑结果,所以用int型表示逻辑结果,即关系表达式的数据类型为int型。default放在最后时,可不加break,但是放在中间的时候必须加break。i >-4 为假 ,则不运算 ++j ,j的值仍为-3。1为关系或逻辑表达式,1为真,结果为2,否则结果为3。表达式swich()与常量表达式case()等值运算。不能写出连续比较的形式,比较是一步一步进行的。
2024-07-19 19:37:00
441
2
原创 嵌入式day4
e,E double参数转换为[-]d.ddde±dd,即科学计数法。g,G double类型随机转换为%e或%f,取决于那种方式更加简短。嵌入式学习第四天,学习了顺序结构,其中scanf函数和printf函数很重要。o,u,x,X 无符号整数参数转换为无符号八进制(o),无符号十进制(u),m表示总宽数(整体占的位数),包括小数点,可被省略。
2024-07-18 18:37:56
1046
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人