- 博客(7)
- 收藏
- 关注
原创 编译库步骤
1.sudo apt install +库的名称 这个命令能直接下载库的bin文件到/usr/bin中,使得运行时能加载到程序中或链接时加载。2.网上下载库的源码,然后使用交叉工具编译,使得这个库能在板子上运行。写代码过程中会调用可能当前环境中未安装的库,因此需要去下载。此时原本涉及到库的工程代码就能够编译了。照着这种模板配置相应的路径即可。二、编写脚本自动编译。
2025-06-09 15:05:14
260
原创 ls -l的实现
讲解这个代码的思路,,,,ls -l保证了当前文件是目录,因此,传入参数 ‘pwd’,,用opendir打开这个目录,这个目录也是文件,里面存放了很多当前文件的信息,现在有一个结构体dirent,每次用这个结构体去读取目录的信息,就会获得每个文件的名字的信息,然后将这个名字加在原先路径后面,再用stat去解析这个路径也就是文件的信息,保存在对应的结构体中,此时调用结构体中的成员变量就能得到文件的所有信息了,因此,在前面用dirent读取目录信息的那里加个循环,我们就能一直获取文件的信息了。
2024-11-04 20:51:22
286
原创 操作系统的内存管理
程序都有概念吧,进程也有概念吧,让程序跑起来罢了,怎样算跑起来,即cpu开始执行了程序里面的汇编指令了,,现在假设这样一个情况,cpu要执行程序了,把程序的代码从硬盘搬到内存里面开始执行,显然搬不完,内存没那么大,然后用多少搬多少,ok,搬到ram中去,然后又要打开 一个程序,将它搬到另外一个位置,结果很快ram就满了,这样并没有有效管理内存。但只要查看pc,会发现ram存储容量并不大,同时这个ram是最真实的内存,姑且叫它物理内存吧,毕竟它是真实存在的,实打实的用逻辑器件构造的玩意。
2024-10-28 17:41:03
258
原创 虚拟机扩容了导致开机界面卡住了
一. 重启虚拟机在开始会弹出让你摁F2的界面就点F2,然后点到右边倒数第二个选项,设置CD启动就是将这个选项移到最上面的位置 shift+,记住这里CD并不要求你真的插入CD啥的,不需要操作系统,,等重启在选择try ubuntu选项就好了,进去用终端输入dparted,直接操作扩容就好了,,然后再重启的时候F2进入,将原来的那个移到最上面,重新加载就好了。
2024-10-23 13:37:45
1822
2
原创 linux下的声卡注册
基本这样,芯片协议都介绍完了。紧接着就是cpu dai的注册,为什么有这个,有什么作用,我们来打个比方,有一个屋子,codec就好比来这屋子送食物的人,你是房里的主人,维持着屋子里的运作,你要想让送食物的直接走哪个门进来,然后送到对应的人的手上,你是不是得分配一个门的钥匙给这个人,这样你就不用每次去开门,这个门就好比cpu dai,光有门也不行,那钥匙就好比声卡的诞生,让这一切变得能够自发的进行。这什么意思呢,声卡的驱动负责做一些连接的工作,,先讲cpu dai和codec dai然后再回头讲声卡驱动,
2024-10-22 21:04:10
1631
1
原创 KMP算法原理
比如在匹配的时候第二个指针在第n+1的位置匹配失败,比如abcabe在e这个位置匹配失败,我们要跳到第x个位置保证x前面的y个元素和第一个指针前面的y个元素相同,于是就有了前后缀这个概念,就是为了解决跳转问题才引出的,对于abcabe在e这个位置匹配失败了,指针会跳到哪里,没错就是c这个位置,因为c前面的2个元素ab一定和e前面的两个元素相同,如何确定c的下标,就是e前面的字符串前缀和后缀相等时,前后缀的最大元素个数。该算法的优点,取消了遍历指针,增加了一个算法删除了重复匹配的字符的匹配。
2023-12-24 17:36:20
516
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅