
Lettershell
文章平均质量分 91
Letter源码走读
码农练功房
嵌入式开发,C++后端开发,通信协议软件开发
展开
-
Lettershell之移植篇
letter-shell通过write、read函数注册的方式确实提高了它的灵活性,使得 letter-shell 可以适应不同的平台和环境,无论是单片机还是 Linux 系统。这种方式允许开发者根据自己的需求选择合适的输入输出机制,这种方式不仅提高了可移植性,还增强了 letter-shell 的实用性。原创 2024-10-12 13:16:05 · 1265 阅读 · 0 评论 -
Lettershell之命令注册
由于本人对IAR不是很熟悉,针对IAR中section的使用不做展开。在gcc、arm编译器中是两者都支持的一个编译特性,能够实现在编译时把某个函数/数据放到叫name的section数据段中。在MDK中,使用//......//......其中和为这个section的起始、终止地址。而在Linux中我们不仅需要使用来定义,还需要在程序链接脚本中定义外部变量来指向 section 的起始和结束地址。使用。原创 2024-10-14 13:14:14 · 1067 阅读 · 0 评论 -
Lettershell之按键识别
按键注册是一个不错的设计,使得在解析按键时,各个按键的处理逻辑正交,互不干扰。原创 2024-10-14 13:34:55 · 671 阅读 · 1 评论 -
Lettershell之输入缓冲区
从代码上看,缓冲区的管理逻辑被分散在多个函数中,阅读代码时,我们需要在多个函数间跳转才能看到全貌。除了需要维护好缓冲区外,还需要在增删改查数据的同时维护好回显。原创 2024-10-15 08:56:59 · 1243 阅读 · 0 评论 -
Lettershell之命令解析
命令解释过程中,参数类型判定是难点。代理函数的核心是关于类型转换的操作。原创 2024-10-16 09:01:37 · 1213 阅读 · 0 评论 -
Lettershell之参数类型判断
由于函数签名的引入,我们就可以使用函数签名描述任何参数。对应的,在参数类型已知的情况下,也可以定义对应的参数解析器进行参数解析,自定义的参数类型签名需要以L开头,以;结尾。比如说定义一个TestStruct结构体类型为int a;char *b;s);同时,我们需要对自定义的类型定义解析器,使用宏return 0;return -1;free(data);return 0;原创 2024-10-17 09:06:24 · 606 阅读 · 0 评论 -
Lettershell之自动补全
Lettershell中的自动补全实现的基本思想十分简单,不过在实现过程中,还是需要注意清空命令行输入这种细节,否则终端显示会有问题,读者可以自己尝试。原创 2024-10-21 09:12:13 · 560 阅读 · 0 评论