导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    【危险】内存越界却不报错

    MR Series
    4
    5
    2215
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Z
      zhaodongyu LV 4 最后由 编辑

      最近写riscv算子的过程中发现这么一个问题:
      比如:
      在c文件里定义一个数组a[10]
      调用汇编文件里的test函数

      汇编文件的test函数根据入参数组a进行数据读写操作,即使超过了数组a的范围,也能够正常读写且不报错。(编译运行都不会报错)

      这很危险啊,尤其是写操作会影响到非a数组地址内的内容。

      ps:我用的是riscv-v的指令

      可以暂时不要关注为什么汇编会越界访问~

      H Copper 2 条回复 最后回复 回复 引用 分享 0
      • aozima
        aozima LV 7 最后由 编辑

        @zhaodongyu 在 【危险】内存越界却不报错 中说:

        汇编文件里的test函数

        可以试着学下rust,不要用unsafe

        1 条回复 最后回复 回复 引用 分享 0
        • H
          ht1123 LV 4 @zhaodongyu 最后由 编辑

          @zhaodongyu
          你好,想请问一下怎么在哪吒上使用riscv-v的指令?

          Z 1 条回复 最后回复 回复 引用 分享 0
          • Z
            zhaodongyu LV 4 @ht1123 最后由 xiaowenge 编辑

            @ht1123 可以看看这个:https://github.com/riscv/riscv-v-spec

            1 条回复 最后回复 回复 引用 分享 0
            • Copper
              Copper LV 4 @zhaodongyu 最后由 编辑

              @zhaodongyu
              C语言不就是这样么?数组边界是要在程序里面自己写条件判断来保证的。

              1 条回复 最后回复 回复 引用 分享 0
              • 1 / 1
              • First post
                Last post

              Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

              行为准则 | 用户协议 | 隐私权政策