首页 > 系统相关 >一生一芯-Linux环境搭建

一生一芯-Linux环境搭建

时间:2024-01-26 16:57:02浏览次数:28  
标签:gcc CC 一芯 ysyx nemu gdb Linux test 搭建

1.gdb调试

1.gdb -q Filename 进入gdb调试器

2.(gdb)b 3 在第三行添加断点 breakpoint

3.(gdb) run 执行程序

4.(gdb)whatis iNum 查看iNum的数据类型

5.(gdb) c 继续执行程序(直到下一个断点或者之后没有断点就运行完整个程序)

6.(gdb) n 一步一步执行程序

7.(gdb) p iNum 输出iNum值 (gdb中变量的值是每一步执行之前的数字)

2.Makefile

从源码到可执行文件的四个阶段:

  • 预处理(.c -> .i)
    • gcc -E test.c -o test.i
  • 编译 (.i -> .s) 得到汇编语言代码
    • gcc -S test.i -o test.s
  • 汇编 (.s -> .o) 得到机器语言代码
    • gcc -c test.s -o test.o
  • 链接 (.o -> ) 得到可执行文件
    • gcc test.o -o test

gcc(选项)(参数):

​ -o:指定生成的输出文件;
​ -On:n为数字1~3,使用编译优化级别n编译程序;
​ -E:仅执行编译预处理;
​ -S:将C代码转换为汇编代码;
​ -Wall:显示警告信息;
​ -c:仅执行编译操作,不进行链接操作。

3.tmux使用

Ctrl + b, shift + % 左右窗格

Ctrl + b, shift + “ 上下窗格

4.编译nemu的坑

​ make menuconfig命令后出现如下情况:

/home/lixuanbo/Desktop/ysyx/ysyx-workbench/nemu/scripts/config.mk:20: Warning: .config does not exists!
/home/lixuanbo/Desktop/ysyx/ysyx-workbench/nemu/scripts/config.mk:21: To build the project, first run 'make menuconfig'.
  • + CC confdata.c
    + CC expr.c
    + CC preprocess.c
    + CC symbol.c
    + CC util.c
    + YACC build/parser.tab.h
      make[1]: bison: 没有那个文件或目录
      make[1]: *** [Makefile:27:build/parser.tab.h] 错误 127
      make: *** [/home/lixuanbo/Desktop/ysyx/ysyx-workbench/nemu/scripts/config.mk:39:/home/lixuanbo/Desktop/ysyx/ysyx-workbench/nemu/tools/kconfig/build/mconf] 错误 2
    

解决方法:要安装词法分析和语法分析工具 flex和bison

标签:gcc,CC,一芯,ysyx,nemu,gdb,Linux,test,搭建
From: https://www.cnblogs.com/xuanbol/p/17989736

相关文章

  • linux 查看内存
    linux查看内存多大的方法:1、执行“free-m”命令,输出列表的“total”项值就是查询的总内存数;2、执行“cat/proc/meminfo”命令,可显示内存的详细信息,输出列表的“MemTotal”项值就是查询的总内存大小。linux查看内存多大的方法1.free-h,显示内存单位 2、执行free-mfr......
  • Linux man命令
    在Linux系统中,man是一个命令,用于调用系统的手册页(ManualPages)以获取命令、函数、文件或概念的详细信息和用法。手册页是一种文档形式,提供了有关Linux系统中各种命令、工具、库函数、文件格式等的详细说明。它们按照特定的章节组织,并分配了不同的编号。要使用man命令来查......
  • Linux 环境下为VirtualBox安装增强功能
    VirtualBox安装CentOS后,再安装增强功能就可以共享文件夹、粘贴板以及鼠标无缝移动,主要步骤如下:1、yum-yupdate2、yum-yinstallg++gccgcc-c++makekernel-*#主要是在安装增强工具提示没有安装这些软件3、yum-yinstallbzip2*......
  • linux服务器,启动服务jar包后,tail查看日志会卡主几分钟后,日志才加载出来,且访问接口很容
    首先:先排除服务器资源不足问题,看程序启动分配内存是否充足等问题原因:DNS配置异常导致的问题,程序运行时会去跑这些域名解析解决方法:/etc/resolv.conf中namespace配置注释,配置注释后,不用运行其他命令,会立即生效,重启服务,可以看到日志会立即返回,且调接口会快速返回,不容易超时......
  • Linux基础命令-find
    目录Linux基础命令-find一、工作特点:二、常用参数:三、练习:Linux基础命令-find实时查找工具,通过遍历指定路径下的文件系统完成文件查找find命令的功能是用于根据给定的路径和条件查找相关文件或目录,参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能,是Linux系统......
  • 人太多,挤不进去?教你搭建一个自己的幻兽帕鲁服务器
    本文分享自华为云社区《一文读懂:华为云幻兽帕鲁服务器搭建教程(windows平台)》,作者:云计算冲锋队。《幻兽帕鲁》是近期爆火的一款开放世界生存建造游戏,在游戏中,玩家可以在广阔的世界中收集神奇的生物“帕鲁”,派他们进行战斗、建造、做农活,工业生产等。与其他开放世界游戏不同,要想实......
  • Linux命令:usermod 修改用户账户
    usermod命令详细使用1.修改用户的『主目录』【-d/--home】$sudousermod-d/home/user111user11$sudousermod--home/home/user100user10此命令只会更新/etc/passwd文件中用户的『主目录』字段的值(七个字段中的第六个),不会创建这个目录,如果要创建这个目录,搭配-......
  • linux软件安装
     d代表文件夹-代表文件3位表示用户3表示用户主3其他用户r记为4,w记为2,x记为1,可以有:0:无任何权限1.仅有x---x2.仅有w权限-w-3.有w和x权限即-wx4.仅有r权限r--5.有r和x权限r-x6.有r和w权限rw-7.有全部权限rwxchmod515chmod326chown-r[用户】[:][用户组]......
  • linux系统开机systemctl自动启动项目服务
    前言作为一名开发人员,都会懂一些服务器相关知识。对于项目部署时,自动启动应该是最基本的,之前都是使用inid来进行开机服务。而今systemctl服务逐渐取代前者。本篇简单记录一下systemctl服务的一些配置以及命令。一、关于systemctl命令下面以nginx服务为例systemctlenab......
  • 人太多,挤不进去?教你搭建一个自己的幻兽帕鲁服务器
    本文分享自华为云社区《一文读懂:华为云幻兽帕鲁服务器搭建教程(windows平台)》,作者:云计算冲锋队。《幻兽帕鲁》是近期爆火的一款开放世界生存建造游戏,在游戏中,玩家可以在广阔的世界中收集神奇的生物“帕鲁”,派他们进行战斗、建造、做农活,工业生产等。与其他开放世界游戏不同,要想实......