rt-thread icon indicating copy to clipboard operation
rt-thread copied to clipboard

[Feature]现在的shell为什么不使用链表的方式来管理历史命令呢,是基于那方便考虑的呢?还有是否考虑为shell增加Ctrl+z/y功能,有些时候使用起来太不方便了

Open youzuwei opened this issue 1 month ago • 3 comments

Describe problem solved by the proposed feature

现在存储历史命令的方式是二位数组,且历史命令满了后,需要逐条拷贝移动,如果增加历史命令数量,这里是比较耗时的

Describe your preferred solution

No response

Describe possible alternatives

No response

youzuwei avatar Nov 25 '25 09:11 youzuwei

省资源吧 历史交互 那边稍微浪费点时间 人是感知不到的

meng-plus avatar Nov 28 '25 03:11 meng-plus

省资源吧 历史交互 那边稍微浪费点时间 人是感知不到的

这里实际上省不到什么资源,现在每条历史命令都是固定长度,如果启用了动态内存分配,用动态内存分配每条历史命令可能还省资源些,如果没有启用动态内存,那就只能固定长度了。再加上双链表,就不用命令条数存满后,每次全部移动一次命令了,就只需要把最老的历史命令从链表中移除,再把新的命令拷贝到该命令buffer,再重新添加到链表中。

youzuwei avatar Nov 28 '25 12:11 youzuwei

欢迎提交PR,谢谢

BernardXiong avatar Nov 29 '25 04:11 BernardXiong