自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 对getopt函数的一点理解

getopt函数根据optstring设置的元素,依次进行检测。如果检测到,就返回检测到的元素,并把元素后面的参数存在optarg变量中。配合while语句可以实现依次检测所有设置的元素(看下面解释),再配合switch函数对参数进行相应操作。为什么配合while语句可以实现检测所有元素呢?因为有一个变量int optind 存储着下一个元素的索引,会随着函数调用而变化。调用者也可以将其重置为 1 以重新开始扫描相同的 argv,或者扫描新的参数向量。

2024-06-19 16:44:03 144

原创 韦东山嵌入式电子阅读器学习

③使用OpenTextFile函数,在函数中open文本文件、用fstat记录统计信息、然后用mmap映射内存、再根据文本文件的编码方式也就是文本开头的几个字节,提供正确的编码结构体(才能调用相应的函数和链表等)②初始化基本函数(DisplayInit;EncodingInit),这一步只是注册各个结构体而已(也有相应的链表被创建)④使用SetTextDetail函数,把选择的编码结构体支持的字体设置大小(注意这里不是所有的编码结构体都设置)①用geopt函数解析命令行参数,并把参数存入事先创建好的变量。

2024-06-19 11:52:26 431

原创 静态链接库和动态链接库制作(参考韦东山)

如果有多个程序都用到这些库,并且都使用静态 接,那么系统里空间就有很大的浪费,而且一旦发现系统中有 bug,就必须把所有程序都重新编译、重新链接,十分麻烦。不是的,如果代码在其他系统上运行,且没有相应的库时,解决办法就是使用静态库。多个程序可以合用动态库,节省存储空间。①gcc main.c -o main test.a [-L.] (中括号是可选项,用于指定库的目录,.就是当前目录)ar -rc libtest.a test.o (把.o制作成.a文件, .a就是静态库)

2024-05-09 22:26:59 375 1

原创 野火linux内核模块学习

内核模块就是实现了某个功能的一段内核代码,在内核运行过程,可以加载这部分代码到内核中,从而动态地增加了内核的功能。基于这种特性,我们进行设备驱动开发时,以内核模块的形式编写设备驱动,只需要编译相关的驱动代码即可,无需对整个内核进行编译。模块是具有独立功能的程序,它可以被单独编译,但不能独立运行,在运行时它被链接到内核作为内核的一部分在内核空间运行,这与运行在用户空间的进程是不一样的。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,决定着整个操作系统的性能和稳定性。

2024-05-09 16:21:47 783 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除