实验环境
按照 文档 中的提示即可完成。
由于本人的系统为 Manjaro
,因此并不需要安装双系统,这里直接开始搭建软件环境。
Note
更新,如果你不想安装双系统,这里有一种更合适的方式,使用 docker
Docker 版本的环境
我们从裸的 ubuntu 22.04
开始,在 cmd
中运行如下 Dockerfile
:
FROM ubuntu:latest
RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.listRUN apt-get -y update && apt -y upgradeARG DEBIAN_FRONTEND=noninteractiveENV TZ=Asia/ShanghaiRUN apt-get install -y \ man \ vim \ git \ wget \ libgoogle-glog-dev \ gcc \ libtinfo-dev \ zlib1g-dev \ build-essential \ libedit-dev \ libxml2-dev \ libssl-dev \ unzip \ pip \ libsndfile1 \ gcc-doc \ gdb \ libreadline-dev \ libsdl2-dev \ llvm llvm-dev \ tmux \ clangd clang-format clang-tidyRUN apt-get update && \ apt-get install -y locales && \ locale-gen zh_CN && \ locale-gen zh_CN.utf8 && \ apt-get install -y ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqyWORKDIR /rootENV LANG zh_CN.UTF-8ENV LANGUAGE zh_CN.UTF-8ENV LC_ALL zh_CN.UTF-8
由于后期可能需要一些图形化界面,这里我们采取的策略是使用 X11
来进行转发,请安装 Windows 上的 X11
客户端:VCXSRV
随后,我们在一个目录下(你的代码目录)打开 cmd
,输入:
git clone -b 2022 git@github.com:NJU-ProjectN/ics-pa.git ICS
接着,通过以下命令来构建这个容器:
docker build . -f Dockerfile -t njupadocker run -ti --rm -e DISPLAY=host.docker.internal:0.0 -v ICS:/root/ICS njupa
接着我们就可以在 windows 下编写代码,然后通过 docker run
这条命令进入 ubuntu
进行执行
模拟器构建
对于 git
的配置,由于已经配置完成,如果无法配置的话请 STFW
,在命令行输入:
git clone -b 2022 git@github.com:NJU-ProjectN/ics-pa.git ics2022
随后
cd ics2022
由于本人使用的 shell
为 zsh
,因此需要更改 init.sh
的 addenv()
如下:
function addenv() { sed -i -e "/^export $1=.*/d" ~/.zshrc echo "export $1=`readlink -e $2`" >> ~/.zshrc echo "By default this script will add environment variables into ~/.zshrc." echo "After that, please run 'source ~/.zshrc' to let these variables take effect." echo "If you use shell other than bash, please add these environment variables manually."}
随后运行:
git branch -m masterbash init.sh nemubash init.sh abstract-machinesource ~/.bashrc
然后检查环境变量是否正确:
echo $NEMU_HOMEecho $AM_HOMEcd $NEMU_HOMEcd $AM_HOME
如果 cd
命令未报错,则说明配置是正确的
创建新分支:
git checkout -b pa0
修改
Makefile
中的
- STUID
- STUDENT
然后进行一次
git
提交
运行如下命令
cd nemumake menuconfig
随后,会出现一个弹窗,请不要修改任何配置,选择 Exit
后,选择 Yes
退出,系统会自动生成一个 .config
的文件,随后运行
make
至于其他的配置与用法,在文档中写的都很详细,请时刻记住 RTFM