【发布时间】:2015-11-03 23:28:42
【问题描述】:
每当我尝试在 NASM 中创建程序时,我都有两个可用的选项:创建一个 win32 可执行文件(在我的 x64 机器上不起作用)或创建一个 win64 对象/输出文件。我使用 NASM 创建了一个 win64 目标文件,然后尝试将其与以下命令链接:
nasm -f win64 -o output.o input.asm
ld input.o -o output.exe
来自 MINGW ld 的错误信息是:
Example.o: file not recognized: File format not recognized
【问题讨论】:
-
您在 Windows 上构建了 LD?你确定 LD 是你的链接器?
-
啊,现在我明白了。你知道我应该改用什么吗?
-
我相信你需要ELF格式的LD,但是在使用MinGW时它应该仍然创建一个PE文件(我不是100%当然)。如果您想使用更原生的链接器,我建议您使用 GoLinker@godevtool.com(与同名语言无关)。我对这个链接器有很好的体验。
-
感谢您的帮助!
-
随时!我总是很乐意提供帮助!
标签: assembly mingw nasm ld win64