- 博客(42)
- 收藏
- 关注
原创 10.6字符驱动设备
这个函数注册成功后我们能够得到一个主设备号和256个次设备号,次设备号范围时0-255、 当驱动注册成功后,注册成功的驱动的主设备号和驱动的名字会保存在/proc/devices文件中。字符设备是以字节流的形式进行顺序访问的设备。在linux操作系统中为字符设备编写的驱动程序就是字符设备驱动。功能:从内核空间拷贝指定数量的数据到用户空间。功能:将指定大小的物理内存映射到虚拟内存。用户空间和内核空间的数据传递。2.字符设备的驱动注册注销。1.字符设备驱动注册函数。2.字符设备驱动注销函数。
2024-10-06 22:53:25
292
原创 10.5 arm整理
2.汇编指令:由于机器指令对人类不友好(记不住),当我们和计算机进行交互时不能直接通过机器指令来进行,这个时候汇编就出现了,每一条汇编指令都可以理解为一条机器指令的标识,当我们编写一条汇编指令时,相当于得到了一条机器指令,就可以让运算器进行对应的运算。2.精简指令集(RISC):结构简单,选取了使用频率高的简单指令,指令长度固定,大小固定,多为单周期指令,在功耗,体积,价格方面多有优势,多用于嵌入式领域。C[29]:加法运算产生进位,C位被自动置1,否则为0,减法运算产生借位,C位被自动置0,否则为1。
2024-10-05 23:39:25
1382
原创 Qt QMainWindow ui界面文件 信号和槽
将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为"123456",如果账号密码匹配成功,则输出“登录成功”,并关闭该界面,如果匹配失败,则输出登录失败,并将密码框中的内容清空。使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数。将day1做的登录界面升级优化【资源文件的添加】
2024-08-16 19:20:10
224
原创 7.23进程间通信
第三题: 有2个.c文件,每个.c文件都拥有一对父子进程,总共4个进程 A a B b 现在要求实现一个多米诺骨牌的效果: 按ctrl+c结束a进程的运行,a进程结束运行之前,通过kill函数向b进程发送SIGINT信号,b进程死亡后,B进程回收b进程的资源后,使用kill函数向A进程发送SIGTSTP信号后,结束运行。A进程接受到B进程的SIGTSTP信号后,会后a进程的资源后也结束运行 注意:kill函数要求获得另一个进程的pid,使用文件IO或者管道都可以。
2024-07-24 20:47:35
158
原创 7.22IO
2:第二题: 有一个盘子,盘子里面最多放3个苹果,5个橘子 2个生产者线程,一个每秒放1个苹果,另一个每秒2个橘子 放了苹果就不能放橘子,放了橘子就不能放苹果 2个消费者线程,1号消费者线程每秒消费2个苹果,2号消费者线程,每秒消费3个橘子。解题思路: 苹果生产者和消费者之间,需要2组条件变量 橘子生产者和消费者之间,需要2组条件变量 苹果生产者和橘子生产者之间,需要一组互斥锁或者信号量。1:使用互斥锁或者信号量,实现一个简单的生产者消费者模型 一个线程每秒生产3个苹果,另一个线程每秒消费8个苹果。
2024-07-23 08:50:06
197
原创 7.17文件IO
函数返回一个指向 struct dirent 结构体的指针,这个结构体包含了目录中的一个条目的信息,包括文件名、文件类型等。readdir函数: readdir 用于读取目录中的条目(包括子目录和文件)。使用 readdir 可以逐个读取目录中的文件和子目录,直到到达目录的末尾。用于打开一个目录,并返回一个指向目录的指针(称为目录流)。结构体的指针,可以使用这个指针来遍历目录中的条目。dirp 是由 opendir 返回的目录流指针。是要打开的目录的路径。
2024-07-18 08:49:34
209
原创 7.16IO
第一题: 在终端的界面上输出:__-__-__-__ 1秒过后,变成 1_-__-__-__ 再1秒过后,变成 12-__-__-__ 依此类推 经过8秒,最终变成 12-34-56-78。第二题: 将一张bmp图片的大小更改成原来的4倍,宽度和高度都要对应的变成原来的2倍,多出来的像素点用黑色填充。实现情况不理想,尚未找到原因。
2024-07-17 08:54:20
227
原创 数据结构7.1
2.在堆区申请两个长度为32的空间,实现两个字符串的比较【非库函数实现】5.调用函数实现字符串比较,在主函数中输出大小。4. 定义函数,实现字符串的输入。3.定义函数,在对区申请空间。两个申请,主函数需要调用2次。6.定义函数,释放空间。
2024-07-01 20:22:49
276
原创 c高级6.26
终端输入一个.sh文件,判断文件是否由可执行权限,如果有可执行权限运行脚本,没有可执行权限添加可执行权限后,再运行脚本。使用for循环,找到家目录下的所有.c文件,如果文件有内容编译该文件,如果文件中没有内容,删除文件。写一个函数,输出当前用户uid和gid,并使用变量接收结果。终端输入年月,判断该月有多少天,考虑闰平年的情况。使用for循环,输出九九乘法表(统计家目录下.c文件的个数。
2024-06-26 20:21:25
204
原创 c高级6.25
逻辑运算符有:-a(与)、-o(或)、!判断两个值是否相等:test $a -eq $b或者[ $a -eq $b ]判断文件是否存在并可读:test -r file或者[ -r file ]判断两个值是否不相等:test $a -ne $b或者[ $a -ne $b ]判断文件是否存在并可写:test -w file或者[ -w file ]判断一个值是否小于另一个值:test $a -lt $b或者[ $a -lt $b ]判断文件是否存在并可执行:test -x file或者。
2024-06-25 19:24:50
664
原创 c高级6.24
只对当前用户有效:vim ~./bashrc文件将export表达式添加在文件的最后一行,修改后重启,source ~/.bashrc。只对当前用户有效:vim ~./bashrc文件将export表达式添加在文件的最后一行,修改后重启,source ~/.bashrc。对所有用户生效:修改etc/environment,修改后,重启,source/etc/vironment。对所有用户生效:修改etc/environment,修改后,重启,source/etc/vironment。
2024-06-24 20:13:17
1071
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人