如何在Mac OS X上创建ELF可执行文件?

cst*_*ack 6 macos nasm elf ld

我正在学习本教程:https://littleosbook.github.io/#linking-the-kernel

而且我在Mac上.我正处于创建目标文件的位置nasm,我希望将其转换为ELF可执行文件ld.将ld在Mac上看起来并不像它支持ELF格式,但我并不想运行一个虚拟机使用Ubuntu只是做此链接步骤.

是否有可能ld在Mac 上安装GNU 并与Mac一起运行ld

nne*_*neo 8

是的你可以。ld是 GNU binutils 的一部分。您可以按如下方式构建和安装它:

wget -nc https://ftp.gnu.org/gnu/binutils/binutils-2.27.tar.gz
tar xzf binutils-2.27.tar.gz
cd binutils-2.27
mkdir build && cd build
../configure --prefix=${HOME}/.local/binutils --target=i386-unknown-linux-gnu
make -j7
make install
Run Code Online (Sandbox Code Playgroud)

将 ld 安装到~/.local/binutils/bin/ld. 如果您想要 64 位 binutils,请使用--target=x86_64-unknown-linux-gnu.