Gem5 学习 3 - 用SE模式测试自己的程序
参考博客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模式测试自己的程序相关推荐
- gem5下用se模式运行自己的测试程序
接上面的讲讲,se模式下如何运行自己的测试程序,而不是gem5自带的测试程序.看到我这部分合集,应该就可以在gem5的入门处少走很多很多弯路.我就是走了很多弯路,才摸索出来.... 比如说,我现在写了 ...
- 组合模式测试组合模式(Composite Pattern)
改章节是一篇关于组合模式测试的帖子 像一个树形结构一样使用基本的对象和自己本身构建一个复杂的对象,称为组合模式. 这类模式很轻易学习以及应用到某个系统中.组合模式属于结构设计模式之一,比拟常用.经典的 ...
- 《Go语言圣经》学习笔记 第十一章 测试
<Go语言圣经>学习笔记 第十一章 测试 目录 go test 测试函数 测试覆盖率 基准测试 剖析 示例函数 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. Go语 ...
- Gem5在全系统(FS)模式下运行自己的测试程序
上一篇文章讲了怎么用Gem5构建和启动FS模式,这一次想看看怎么在模拟的环境中测试自己的程序. 我这里还是用的上次提到的X86的环境,整体过程是以下几个步骤: 1.挂载镜像 ypf@ypf-PC:~/ ...
- 设计模式学习笔记——解释器(Interpreter)模式
设计模式学习笔记--解释器(Interpreter)模式 @(设计模式)[设计模式, 解释器模式, Interpreter] 设计模式学习笔记解释器Interpreter模式 基本介绍 解释器案例 类 ...
- 设计模式学习笔记——命令(Command)模式
设计模式学习笔记--命令(Command)模式 @(设计模式)[设计模式, 命令模式, command] 设计模式学习笔记命令Command模式 基本介绍 命令案例 类图 实现代码 Command接口 ...
- 设计模式学习笔记——代理(Proxy)模式
设计模式学习笔记--代理(Proxy)模式 @(设计模式)[设计模式, 代理模式, proxy] 设计模式学习笔记代理Proxy模式 基本介绍 代理案例 类图 实现代码 Printable接口 Pri ...
- 设计模式学习笔记——状态(State)模式框架
设计模式学习笔记--状态(State)模式框架 @(设计模式)[设计模式, 状态模式, State] 设计模式学习笔记状态State模式框架 基本介绍 状态案例 类图 实现代码 State接口 Day ...
- 设计模式学习笔记——备忘录(Memento)模式
设计模式学习笔记--备忘录(Memento)模式 @(设计模式)[设计模式, 备忘录模式, memento] 设计模式学习笔记备忘录Memento模式 基本介绍 备忘录案例 类图 实现代码 Memen ...
最新文章
- 经验 | 详解 Faster R-CNN目标检测的实现过程
- (0076)iOS开发之UIWebView嵌套直播平台(不涉及播放器技术的开发)
- c调用c++ qt_【C/C++】qt库结构及示例
- ios CGRec用法
- 规范化之路(一) Checkstyle插件安装使用
- oracle时间去掉时分秒的时间_超详细的oracle修改AWR采样时间间隔和快照保留时间教程...
- 什么是CSS+DIV及其优势所在?
- Atitit 高级人员要看哪些源码 目录 1. Ati看过的源码	1 1.1. Ui类	1 1.2. Mvc类	1 1.3. 数据库类	1 1.4. 算法类	1 2. 看源码的意义	2 2.1. 一
- 教材寻找 下载系列1
- Word和WPS插件开发总结
- 程序装在C盘Programe file下无写文件权限问题
- mysql命令执行cmd命令_mysql cmd常用命令
- python的交并补_Python 集合的交差并补操作及方法
- 1.Twitter开发者之如何申请一个twitter开发者账号
- java 写 xml 文件 工具类_XML读写工具类
- 树莓派手动固定无线网络的IP地址
- bluez——mgmt分析
- Centos文件清理
- python 解一元二次方程的根
- Windows 查看已保存wifi密码