Contact me: hankecnc@gmail.com

get_command()中的冗余调用 #144

推推 grbl 3年前 (2023-01-25) 398次浏览

 关闭

get_command()中的冗余调用#144

德里克斯瓦尔德 打开此问题 on Apr 15, 2012 ·3条评论

评论

get_command()中的冗余调用 #144

你好,

我相信这是有原因的,但是我想知道为什么在get_command()中会有多余的调用来扫描命令字符串。

一个典型的结构是这样的:

    if(strstr(cmdbuffer[bufindw], "N") != NULL)
    {
      strchr_pointer = strchr(cmdbuffer[bufindw], 'N');

其中,对strstr的调用之后是使用相同参数对strchr的调用。只记住第一次呼叫的结果而跳过第二次呼叫不是更有效吗?例如:

    if((strchr_pointer = strstr(cmdbuffer[bufindw], "N")) != NULL)
    {

我意识到strchr_pointer是一个全局变量,被多个函数使用,但是据我所知,每当process_commands()真正使用它时,它都会被重新分配。

我知道这并没有太大的开销,因为字符是在字符串的开头找到的(大多数情况下),但是在我看来,函数调用的额外开销是可以避免的。

get_command()中的冗余调用 #144
贡献者

也许你是对的,但是固件的关键部分在其他地方。自由地做改变,所以我们可以合并它们。
但是请注意,维护马林的工作量很大。

get_command()中的冗余调用 #144 无名小卒 添加的 该 改善 标号 on Apr 13, 2014
get_command()中的冗余调用 #144
贡献者

近3年来没有评论等。正在关闭…如果问题仍然存在,则重新打开

get_command()中的冗余调用 #144 伯尔 关闭此为 已完成 on Dec 18, 2014
get_command()中的冗余调用 #144 伯尔 移走 T:功能请求 用户请求的功能。PR:改善 标号 on Jun 29, 2015
get_command()中的冗余调用 #144
吉图亚行动 机器人 评论的 on Apr 15, 2022

此问题已自动锁定,因为在关闭后没有任何近期活动。请为相关错误打开一个新问题。

get_command()中的冗余调用 #144 吉图亚行动 机器人 锁定和限制与协作者的对话 on Apr 15, 2022
喜欢 (0)