MultiButton icon indicating copy to clipboard operation
MultiButton copied to clipboard

按键删除

Open mandy-yan opened this issue 6 years ago • 9 comments

请问void button_stop(struct Button* handle)这个函数, 在哪将传入的按键删除了, 压根都没看到这个逻辑..

mandy-yan avatar Dec 04 '19 08:12 mandy-yan

只是把这个按键句柄从链表中移除.这样在按键处理函数中就不会涉及到这个 按键了.内存是仍然占用的.

sj13757790563 avatar Dec 05 '19 02:12 sj13757790563

我在纸上研读来研读去,都没看你把这个按键句柄移出的逻辑,请问哪句话是把句柄给移出了链表?

------------------ 原始邮件 ------------------ 发件人: sj13757790563 <[email protected]> 发送时间: 2019年12月5日 10:48 收件人: 0x1abin/MultiButton <[email protected]> 抄送: Mandy.yan <[email protected]>, Author <[email protected]> 主题: 回复:[0x1abin/MultiButton] 按键删除 (#7)

只是把这个按键句柄从链表中移除.这样在按键处理函数中就不会涉及到这个 按键了.内存是仍然占用的.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

mandy-yan avatar Dec 05 '19 04:12 mandy-yan

我讲不清除,也许下面的图片容易理解. 1 2

sj13757790563 avatar Dec 05 '19 06:12 sj13757790563

curr 在初始化时 指向 head_handle,随后指向了输入的handle中的next字段.我只能这么描述了,或者作者可以讲的更清楚一些

sj13757790563 avatar Dec 05 '19 06:12 sj13757790563

Hi

  1. 这段链表删除是引用 Linus Torvalds 安利的利用二级指针删除单向链表操作 详见: https://coolshell.cn/articles/8990.html

  2. 没在函数内释放内存是因为考虑在一些单片机平台上没有内存管理模块,所以留给开发者自己处理。

0x1abin avatar Dec 16 '19 01:12 0x1abin

这里二级指针的应用确实很巧妙,看了半天感觉还是一知半解,画了个流程图,应该可以帮助大家理解。另外,在释放内存的后面我加了一句return;这样做效率应该更高吧。 image

Glacierty avatar Aug 17 '21 11:08 Glacierty

请问这些流程图,是通过什么软件绘制的呢?学习一下,多谢!

Mshrimp avatar Mar 08 '22 12:03 Mshrimp

请问这些流程图,是通过什么软件绘制的呢?学习一下,多谢!

draw.io

KemGong avatar Mar 20 '23 02:03 KemGong

就是draw.io呀

---- 回复的原邮件 ---- | 发件人 | @.> | | 日期 | 2023年03月20日 10:47 | | 收件人 | @.> | | 抄送至 | @.>@.> | | 主题 | Re: [0x1abin/MultiButton] 按键删除 (#7) |

请问这些流程图,是通过什么软件绘制的呢?学习一下,多谢!

draw.io

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

Glacierty avatar Mar 22 '23 15:03 Glacierty