第一步,去微軟官網看doc如何啟用WSL2
第二步,安裝Ubuntu18,如果上一步成功了,你現在安裝的Ubuntu18應該就是WSL2而不是WSL1,用powershell的wsl -l -v去檢查,如果還是WSL1,就用wsl --set-version Ubuntu-18.04 2
第三步,用我的bash文字
#需要安裝qemu-user-static軟體包,新增i386 binfmt,啟用i386體系結構
sudo apt install qemu-user-static
sudo update-binfmts --install i386 /usr/bin/qemu-i386-static --magic '\x7fELF\x01\x01\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x01\x00\x00\x00' --mask '\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xf8\xff\xff\xff\xff\xff\xff\xff'
#啟用i386架構和軟體包
sudo dpkg --add-architecture i386
sudo apt install cpp-7:i386
sudo apt install cpp:i386
sudo apt install gcc:i386
#每次重新啟動WSL並需要i386支援時,都需要重新啟用此功能:
sudo service binfmt-support start
#使用apt看自己的gcc:i386是否已安裝
sudo apt show gcc:i386
#使用gcc -m32 hello.c來編譯32位元的東西
#禁用i386支援
# sudo service binfmt-support stop
第四步,用gcc的-m32選項進行編譯,你就能看到自己的sizeof(long)是4了