我正在使用 Msys 构建我在 Linux 下编写的 home brew 内核。Linux 使用 ELF 作为其二进制格式,而 Msys 使用 PE。我有源设置以允许 Grub 使用 Multiboot 规范启动它。在构建结束时,我得到一些未定义的符号:
init.o:init.S:(.text+0x14): undefined reference to `edata'
main.o:main.c:(.text+0x121): undefined reference to `_alloca'
main.o:main.c:(.text+0x126): undefined reference to `__main'
../../lib\libkern.a(mem.o):mem.c:(.text+0x242): undefined reference to `_end'
../../lib\libkern.a(mem.o):mem.c:(.text+0x323): undefined reference to `_end'
这些似乎是面向 ELF 的符号。如果有人可以建议我如何在 PE 世界中处理这些问题,例如,如果有等价物,那将对我有很大帮助!