首先下载trace,然后去config.h更改文件路径。(官方文件包里不包含这个,但我不知道去哪下载,因为老师给的包里有)
在config.h找到
#define TRACE DIRECTOR "路径"
只改路径部分,改为存放trace的位置。
输入命令:
make
./mdriver -v
执行完这两条,虚拟机没抽风就会得到未更改的mm运行结果。
运行失败就按报错找解决方案,这次是缺少<system/codes.h>头文件。
安装libc-dev
sudo apt-get install libc6-dev
不行再安装gcc-multilib包
sudo apt-get install gcc-multilib
到这里我已经解决了头文件缺失的问题,但出现了链接报错。按照报错提示挨个排除文件问题。
gcc -Wall -O2 -m32 -c -o memlib.o memlib.c
gcc -Wall -O2 -m32 -c -o fcyc.o fcyc.c
gcc -Wall -O2 -m32 -c -o clock.o clock.c
到这里这次就运行成功了。
代码是借鉴的别人的文章,但是看太多了忘记到底是哪篇了,这次没办法贴链接。
改好代码后再次运行
make
./mdriver -v
如果这里报错,在make报错的时候会有详细的错误提示,比如我这次用了for,但是编译器不是c99,上面会有相应的提示,推荐我使用c99,这个时候输入:
gcc -Wall -O2 -m32 -std=c99 -c -o mm.o mm.c
make
./mdriver -v
就可以得到结果了。