• LockedX
    2022-08-27 来自湖北
    RISC-V Support,RISCV汇编高亮显示 RISC-V Venus Simulator,RISCV汇编仿真调试 要调试RISCV汇编的话,VSCode要安装这两个插件才行

    作者回复: 看的出来 你成功了

    共 3 条评论
    12
  • Liu Zheng
    2022-08-28 来自湖北
    老师您好。想问一下,vscode里面我调试C语言代码可以加断点,但是跑汇编代码加不了断点,怎么解决呢?用riscv64-unknown-elf-gcc编译了直接在命令行里用qemu-risc32 main.elf跑是没有问题的。但是用vscode调试没法加断点。 谢谢老师

    作者回复: 加不了 断点 是vscode中加不上吗

    共 5 条评论
    2
  • 熊悟空的凶
    2022-08-31 来自湖北
    安装好插件后 进行debug的 提示一下信息 CC -[M] 正在构建... main.S CC -[M] 正在构建... declaration.c CC -[M] 正在构建... definition.c /usr/lib/riscv64-unknown-elf/bin/ld: cannot find crt0.o: No such file or directory /usr/lib/riscv64-unknown-elf/bin/ld: cannot find -lc /usr/lib/riscv64-unknown-elf/bin/ld: cannot find -lgloss collect2: error: ld returned 1 exit status make: *** [Makefile:37: main.elf] Error 1 * The terminal process "/usr/bin/bash '-c', 'make'" failed to launch (exit code: 2). * Terminal will be reused by tasks, press any key to close it. echo "export LIBRARY_PATH=/usr/lib/aarch64-linux-gnu" >> ~/.bashrc source ~/.bashrc
    展开

    作者回复: 请使用环境课程中搭建的环境

    
    1
  • 青玉白露
    2022-10-16 来自湖北
    编译原理mark

    作者回复: 哈哈

    
    
  • Geek_d47998
    2022-09-12 来自湖北
    第一行代码是不是有问题.globl main而不是.global main

    作者回复: 都 可以的 这两个关键字 gcc 都支持的

    
    
  • Geek_d47998
    2022-09-12 来自湖北
    除了需要安装那两个插件,代码还需要再重新放在一个目录下运行,我把十四课代码直接放在十三课目录下(新建了一个lesson14的目录)就无法运行了,应该重新创建一个独立的环境lesson14然后把.vscode和Makefile都扔进去

    作者回复: 是的

    
    
  • 苏流郁宓
    2022-08-26 来自湖北
    流程控制?c语言代码不一定需要所有的都在cpu上跑一遍,还有main函数是入口,如果按照程序等于算法加数据结构来说,就是赋予不同函数不同的权重(如main为入口,如float与int的存储方式不同),来模拟更直观更抽象的人的思维(毕竟,汇编语言是快,但是数据结构越复杂,那么人对它的理解难度上升) 简而言之,c语言是通过增加抽象层,来实现更接近人的思维,流程控制的好处是降低cpu工作量(不是所有代码都要执行),提升c语言到汇编语言的转化效率!也可以理解为通过优化下的算法加数据结构,来对接汇编语言 操纵cpu的啊!

    作者回复: 这么理解 也好

    
    
  • xavier
    2023-06-20 来自四川
    代码反应的是程序员的思想,流程控制对应的就是思想逻辑。 对了,数据类型里面似乎漏了一个 enum。
    
    