参考博客https://blog.csdn.net/u012822903/article/details/62217441

se模式需要注意,使用静态编译,单线程

step 1
新建一个自己的文档
比如说我就新建了/home/zwj/gem-code/hello文件夹
然后在文件夹中写自己想要测试的程序
vim hellozwj.c

#include <stdio.h>int main(){int x,y,count;x = 3; y = 4;count = x + y;printf("today, your lucky number is %d\n",count);
}

vim tips: vim是按i键进入插入编辑模式,按esc退出编辑模式,输入:wq保存并退出,输入:q不保存退出

step 2
静态编译自己的.c文件
gcc -o hellozwj hellozwj.c -static

  • -o为指定输出文件的名字,如果不带-o,命令则变为gcc hellozwj.c,默认会生成名为a.out的可执行文件
  • -static表示静态编译,如果不使用静态编译,那么gcc就会优先使用动态库进行编译,动态编译则会动态链接使用的库文件
  • 动态编译和静态编译的区别:动态在程序运行时被链接,静态库直接在编译时所用到的库文件链接进了可执行文件,所以静态编译出来的复杂程序会大很多

step 3
测试自己的.c文件
输入
sudo build/X86/gem5.opt configs/example/se.py -c /home/zwj/gem5-code/hello/hellozwj
不知道自己程序放到哪里的,可以使用pwd命令查看当前路径
输出结果

gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.gem5 compiled May 18 2021 21:53:40
gem5 started May 26 2021 18:07:27
gem5 executing on ubuntu, pid 5961
command line: build/X86/gem5.opt configs/example/se.py -c /home/zwj/gem5-code/hello/hellozwjGlobal frequency set at 1000000000000 ticks per second
warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (512 Mbytes)
0: system.remote_gdb: listening for remote gdb on port 7000
**** REAL SIMULATION ****
info: Entering event queue @ 0.  Starting simulation...
warn: readlink() called on '/proc/self/exe' may yield unexpected results in various settings.Returning '/home/zwj/gem5-code/hello/hellozwj'
info: Increasing stack size by one page.
warn: ignoring syscall access(...)
today, your lucky number is 7
Exiting @ tick 10442000 because exiting with last active thread context

测试完成

Gem5 学习 3 - 用SE模式测试自己的程序相关推荐

  1. gem5下用se模式运行自己的测试程序

    接上面的讲讲,se模式下如何运行自己的测试程序,而不是gem5自带的测试程序.看到我这部分合集,应该就可以在gem5的入门处少走很多很多弯路.我就是走了很多弯路,才摸索出来.... 比如说,我现在写了 ...

  2. 组合模式测试组合模式(Composite Pattern)

    改章节是一篇关于组合模式测试的帖子 像一个树形结构一样使用基本的对象和自己本身构建一个复杂的对象,称为组合模式. 这类模式很轻易学习以及应用到某个系统中.组合模式属于结构设计模式之一,比拟常用.经典的 ...

  3. 《Go语言圣经》学习笔记 第十一章 测试

    <Go语言圣经>学习笔记 第十一章 测试 目录 go test 测试函数 测试覆盖率 基准测试 剖析 示例函数 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. Go语 ...

  4. Gem5在全系统(FS)模式下运行自己的测试程序

    上一篇文章讲了怎么用Gem5构建和启动FS模式,这一次想看看怎么在模拟的环境中测试自己的程序. 我这里还是用的上次提到的X86的环境,整体过程是以下几个步骤: 1.挂载镜像 ypf@ypf-PC:~/ ...

  5. 设计模式学习笔记——解释器(Interpreter)模式

    设计模式学习笔记--解释器(Interpreter)模式 @(设计模式)[设计模式, 解释器模式, Interpreter] 设计模式学习笔记解释器Interpreter模式 基本介绍 解释器案例 类 ...

  6. 设计模式学习笔记——命令(Command)模式

    设计模式学习笔记--命令(Command)模式 @(设计模式)[设计模式, 命令模式, command] 设计模式学习笔记命令Command模式 基本介绍 命令案例 类图 实现代码 Command接口 ...

  7. 设计模式学习笔记——代理(Proxy)模式

    设计模式学习笔记--代理(Proxy)模式 @(设计模式)[设计模式, 代理模式, proxy] 设计模式学习笔记代理Proxy模式 基本介绍 代理案例 类图 实现代码 Printable接口 Pri ...

  8. 设计模式学习笔记——状态(State)模式框架

    设计模式学习笔记--状态(State)模式框架 @(设计模式)[设计模式, 状态模式, State] 设计模式学习笔记状态State模式框架 基本介绍 状态案例 类图 实现代码 State接口 Day ...

  9. 设计模式学习笔记——备忘录(Memento)模式

    设计模式学习笔记--备忘录(Memento)模式 @(设计模式)[设计模式, 备忘录模式, memento] 设计模式学习笔记备忘录Memento模式 基本介绍 备忘录案例 类图 实现代码 Memen ...

最新文章

  1. 经验 | 详解 Faster R-CNN目标检测的实现过程
  2. (0076)iOS开发之UIWebView嵌套直播平台(不涉及播放器技术的开发)
  3. c调用c++ qt_【C/C++】qt库结构及示例
  4. ios CGRec用法
  5. 规范化之路(一) Checkstyle插件安装使用
  6. oracle时间去掉时分秒的时间_超详细的oracle修改AWR采样时间间隔和快照保留时间教程...
  7. 什么是CSS+DIV及其优势所在?
  8. Atitit 高级人员要看哪些源码 目录 1. Ati看过的源码 1 1.1. Ui类 1 1.2. Mvc类 1 1.3. 数据库类 1 1.4. 算法类 1 2. 看源码的意义 2 2.1. 一
  9. 教材寻找 下载系列1
  10. Word和WPS插件开发总结
  11. 程序装在C盘Programe file下无写文件权限问题
  12. mysql命令执行cmd命令_mysql cmd常用命令
  13. python的交并补_Python 集合的交差并补操作及方法
  14. 1.Twitter开发者之如何申请一个twitter开发者账号
  15. java 写 xml 文件 工具类_XML读写工具类
  16. 树莓派手动固定无线网络的IP地址
  17. bluez——mgmt分析
  18. Centos文件清理
  19. python 解一元二次方程的根
  20. Windows 查看已保存wifi密码

热门文章

  1. 将anaconda3成功卸载干净
  2. React Hooks简介
  3. 一个极致优秀的在线图片压缩网站☞TinyPNG
  4. Golang写excel文件
  5. 日语助词よ的语法汇总,请牢记
  6. python canny优化_自适应Canny边缘检测算法
  7. php猴子吃桃子问题n天,『PHP学习笔记』系列四:利用函数递归调用思想解决【斐波那契数列】问题和【猴子吃桃问题】问题...
  8. 趣图:程序员看到冰岛队的球员名册后…
  9. 7-3 抢红包 (25 分)
  10. 爬取豆瓣Top250数据并且可视化