找回密码
 立即注册
楼主: zhangz***

遇到局部变量被意外修改的问题,发现是编译器给2个局部变量分配了相同的地址?

[复制链接]
  • TA的每日心情
    慵懒
    前天 08:41
  • 签到天数: 134 天

    [LV.7]常住居民III

    20

    主题

    1039

    回帖

    2459

    积分

    金牌会员

    积分
    2459
    发表于 2023-12-27 11:21:54 | 显示全部楼层
    zhangzhonghua 发表于 2023-12-27 11:11
    加了NOOVERLAY,居然有链接错误,说无效的命令行语法。这怎么回事?

    你怎么打成空格了,,,,
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    前天 08:41
  • 签到天数: 134 天

    [LV.7]常住居民III

    20

    主题

    1039

    回帖

    2459

    积分

    金牌会员

    积分
    2459
    发表于 2023-12-27 11:23:52 | 显示全部楼层
    zhangzhonghua 发表于 2023-12-27 11:19
    怎么改成可重入函数?

    可重入的话  需要开启模拟栈, 再函数后面加上reentrant 。。emmm 据说还会损失一点儿性能。
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    4

    主题

    52

    回帖

    160

    积分

    注册会员

    积分
    160
     楼主| 发表于 2023-12-27 11:46:42 | 显示全部楼层
    _奶咖君_ 发表于 2023-12-27 11:16
    发个截图?是不是逗号用成中文了

    lx51.PNG
    奇怪了。
    1、REMOVEUNUSED要求Overlay使能的,NOOVERLAY则把Overlay关掉了,我以为是它们之间冲突了,导致错误。
    2、然后我保留NOOVERLAY,把REMOVEUNUSED去掉,结果还是同样报错。
    3、但是原先有REMOVEUNUSED、无NOOVERLAY,是可以的。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    前天 08:41
  • 签到天数: 134 天

    [LV.7]常住居民III

    20

    主题

    1039

    回帖

    2459

    积分

    金牌会员

    积分
    2459
    发表于 2023-12-27 12:05:35 | 显示全部楼层
    ......哥  写错位了
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    前天 08:41
  • 签到天数: 134 天

    [LV.7]常住居民III

    20

    主题

    1039

    回帖

    2459

    积分

    金牌会员

    积分
    2459
    发表于 2023-12-27 12:06:22 | 显示全部楼层
    截图202312271206143916.jpg
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    前天 08:41
  • 签到天数: 134 天

    [LV.7]常住居民III

    20

    主题

    1039

    回帖

    2459

    积分

    金牌会员

    积分
    2459
    发表于 2023-12-27 12:07:37 | 显示全部楼层
    注意 启用这个NOOVERLAY之后  REMOVEUNUSED 功能就失效了,,Flash占用会变大。。只能手动裁减函数
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    前天 08:41
  • 签到天数: 134 天

    [LV.7]常住居民III

    20

    主题

    1039

    回帖

    2459

    积分

    金牌会员

    积分
    2459
    发表于 2023-12-27 12:09:34 | 显示全部楼层
    中间用英文逗号分隔,,,
    也不知道你百度了点啥,,哪个贴子教你这个东西要填在上面的,,,,直接喷那个作者去
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    113

    回帖

    627

    积分

    高级会员

    积分
    627
    发表于 2023-12-27 12:24:28 | 显示全部楼层
    _奶咖君_ 发表于 2023-12-27 11:23
    可重入的话  需要开启模拟栈, 再函数后面加上reentrant 。。emmm 据说还会损失一点儿性能。 ...

    他用的是STC32吧,不用模拟栈,性能损失可忽略。这种函数指针动态调用函数,想治本就得用可重入函数
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    前天 08:41
  • 签到天数: 134 天

    [LV.7]常住居民III

    20

    主题

    1039

    回帖

    2459

    积分

    金牌会员

    积分
    2459
    发表于 2023-12-27 12:27:10 | 显示全部楼层
    zxcv1973 发表于 2023-12-27 12:24
    他用的是STC32吧,不用模拟栈,性能损失可忽略。这种函数指针动态调用函数,想治本就得用可重入函数 ...

    你看看它的截图  抱歉我没有用过STC32  这个也是用的LX51 链接器么?
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    前天 08:41
  • 签到天数: 134 天

    [LV.7]常住居民III

    20

    主题

    1039

    回帖

    2459

    积分

    金牌会员

    积分
    2459
    发表于 2023-12-27 12:28:32 | 显示全部楼层
    zxcv1973 发表于 2023-12-27 12:24
    他用的是STC32吧,不用模拟栈,性能损失可忽略。这种函数指针动态调用函数,想治本就得用可重入函数 ...

    啊 人用的C51 编译器 你是从那里看出来他用的STC32 ?
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-2 08:20 , Processed in 0.069468 second(s), 66 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表