Open4
「低レイヤを知りたい人のためのCコンパイラ作成入門」をApple Silliconで動かす
これをやる
環境
- Apple M1 Max
- macOS 15.1.1(24B91)
方針
#付録3:Dockerを使った開発環境の作成 を基本にしつつ、Rosetta 2を用いてx86-64の命令セットのまま動かす
Rosetta 2のインストール
$ softwareupdate --install-rosetta --agree-to-license
セットアップ手順
Dockerイメージのビルド時にターゲットのプラットフォームを linux/amd64 に設定する。
- $ docker build -t compilerbook https://www.sigbus.info/compilerbook/Dockerfile
+ $ docker build -t compilerbook https://www.sigbus.info/compilerbook/Dockerfile --platform linux/amd64
作業ディレクトリで動かす場合は$(pwd)を使うとよい
- $ docker run --rm -v $HOME/9cc:/9cc -w /9cc compilerbook make test
+ $ docker run --rm -v "$(pwd)":/9cc -w /9cc compilerbook make test
自分は0ccにしているので
docker run --rm -v "$(pwd)":/0cc -w /0cc compilerbook make test