2021 NEMU PA1 RTFSC 优美地退出
优美地退出
仅提供查错思路,怎么改正还需自己理解nemu的框架,RTFSC!
启动nemu:make run
键入q后:
发现报错
(我之前以为是makefile的问题,查看native.mk后发现并不是)
查错
先找到main函数
查看:
结合之前的文档:init_monitor()函数:
engine_start()函数:
查看一下sbd_mainloop():
发现一个rl_gets()函数;
上网搜了一下,发现使用readline库
继续往下读发现一个结构体:cmd_table[]
往上翻找到:
这个结构体的定义值得学习一下,int (*handler) (char *) , 可以使用cmd_table[i].xxx(cmd_help,cmd_c,cmd_q)执行相应的函数,很妙
与在nemu运行时能够使用的命令契合
于是猜测:
通过readline()读入命令然后通过strtok()过滤空格,通过strcmp()将键入的命令与cmd_table[i].name进行对比然后执行相应函数,那么在我们键入q时就会调用cmd_q函数:
什么也不做只返回-1:
然后判断 if(cmd_q < 0){return;} , -1 < 0所以直接返回main函数了:
随后返回并调用 is_exit_status_bad() :(find搜索一下)
到这里应该了解了为什么会发生错误,main()函数返回了-1 , 自己理解并修改一下
2021 NEMU PA1 RTFSC 优美地退出相关推荐
- NEMU PA1实验思路
NEMU PA1实验思路 版权归zzy所有,不许外传! 本文主要是提供PA1思路,为了避免踩了一堆坑而浪费时间.若想copy代码请移步他处,本文仅供学习交流用,谢谢! 阅读前请确保仔细阅读了PA1实验 ...
- 产业分析:2021中国股权投资动态
导读: 2021年,回暖和关注创新成为创业投资(VC).私募股权投资(PE)市场的主基调.在新冠肺炎疫情逐渐得到控制和宏观经济持续恢复的背景下,2021年VC/PE市场新成立基金增长显著,投资数量和投 ...
- 中国黑色金属行业十四五产量需求及发展战略规划研究报告2021版
中国黑色金属行业十四五产量需求及发展战略规划研究报告2021版 HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS-- [修订日期]:2021年11月 [搜索 ...
- vagrant给vmbox创建虚拟机及docker安装mysql和redis
一.安装vmbox和vagrant 1.下载地址 Vagrant: https://releases.hashicorp.com/vagrant/2.2.5/vagrant_2.2.5_x86_64. ...
- 2022年财富世界500强研究报告
第一章 排行榜概况 1.1 榜单简介 <财富>(Fortune Magazine)是一本由美国人亨利·卢斯创办于1930年(庚午年),主要刊登经济问题研究文章的杂志.现隶属时代华纳集团旗下 ...
- Python 核心编程(第二版)——网络编程
1. 介绍 服务器是一个软件或硬件,用于提供客户需要的"服务".服务器存在的唯一目的就是等待客户的请求,给这些客户服务,然后再等待其它的请求. 2. 套接字:通讯端点 套接字是一种 ...
- 中国黑色金属行业产量需求与十四五战略规划报告2022版
中国黑色金属行业产量需求与十四五战略规划报告2022版 --------------------------------------- [修订日期]:2021年12月 [搜索鸿晟信合研究院查看官网更多 ...
- linux查看snmp的端口号,Linux的snmp 详解
1)配置snmp,编辑/etc/snmp/snmpd.conf 1.1)首选是定义一个共同体名(community),这里是public,及可以访问这个public的用户名(sec name),这里是 ...
- linux 查看snmp端口,linux下的snmp配置及获取信息测试
1)配置snmp,编辑/etc/snmp/snmpd.conf 1.1)首选是定义一个共同体名(community),这里是public,及可以访问这个public的用户名(sec name),这里是 ...
最新文章
- 【廖雪峰python入门笔记】for循环
- 计算机进制转换图,计算机等级考试进制转换及常用函数
- 神经网络第五周tutorial解析
- [转]easyui datagrid 批量编辑和提交
- TroubleShoot
- 【进程】进程通信-共享内存
- 向上取整函数_向上取整函数ROUNDUP在BOM表里面的实际应用
- Java基础---File类,就是这么简单
- 我的FPGA入门学习计划
- 机器学习中树模型算法总结之 决策树(上)
- 刚知道,qq聊天的时候可以这么装逼
- 我的团长我的团第三集
- Python实现《都挺好》社交网络分析
- hash(哈希)是什么
- 在Ubuntu/Linux环境下开放3306端口
- 模拟电路50(开关电容滤波器)
- python rgb转整数,如何在Python中将RGB转换为CMYK和反之亦然?
- 在Ubuntu安装和使用Anbox完整说明(一种在Linux使用Android应用的方法)
- 什么是HashTable?HashMap和HashTable的区别
- 数据库如何修改编码格式?