gpt4 book ai didi

assembly - GNU 链接器 : file not recognized

转载 作者:行者123 更新时间:2023-12-02 20:07:31 27 4
gpt4 key购买 nike

这是我的 makefile:

obj =init3.o initfunc.o descriptor.o disk.o

init:$(obj)
ld -o init.out $(obj)

init3.o:init3.asm
nasm -f aout init3.asm

initfunc.o:initfunc.asm
nasm -f aout initfunc.asm

descriptor.o:../lib/descriptor.asm
nasm -f aout ../lib/descriptor.asm

disk.o:../drive/disk.asm
nasm -f aout ../drive/disk.asm

他们编译完全没有错误,但是当链接器开始链接时,出现错误:文件无法识别:文件格式无法识别。然后我使用 -f elf 将每个文件更改为 elf 格式,错误仍然存​​在,我在谷歌上搜索到 GUN 链接器确实可以识别 .out 格式,那么有什么问题吗我的代码?

最佳答案

FWIW:在重新运行 make 之前删除您的 .o 文件。调整编译器标志后很容易忘记这一点。 (我是根据经验谈论的...)

说明:调整 makefile不会强制重新编译(除非您将 makefile 本身指定为 makefile 中每个规则的依赖项>makefile;这甚至可能不是一个坏主意)。您很可能一遍又一遍地链接相同的旧目标文件。

关于assembly - GNU 链接器 : file not recognized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16635470/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com