linux - 在 Linux 64 位上交叉编译 Windows 64 位程序集

标签 linux windows assembly cross-compiling

如何在 Linux 中编译和链接 64 位 Windows 汇编程序

我已经知道要运行了

nasm -f win64 generic_assembly.asm -o generic_output

但在那之后我不能就这么跑

ld generic_output -o generic_executable.exe

我已经尝试将 GoLink.exe 与 wine 一起使用,但我仍然怀疑它是否真的有效

也许我可以使用 Mingw-w64,但我不知道它是如何工作的

如有任何帮助,我将不胜感激 我主要是在寻找可以从 linux 运行的链接器,否则也将不胜感激适用于 Windows 的链接器。

最佳答案

要从 Linux 安装 x86_64-w64-mingw32-gcc 链接 64 位 Windows 的对象。为此,请按照下列步骤操作:

  • 转到 here并下载最新版本。
  • 解压存档到/opt/mingw64
  • 然后执行 sudo ln -s/opt/mingw64/bin/x86_64-w64-mingw32-g++/usr/bin/mingw64-g++

现在您已经为 Windows 64 位安装了交叉编译器,如果您想要 32 位版本,请执行相同的操作但使用 this link .

关于linux - 在 Linux 64 位上交叉编译 Windows 64 位程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37937347/

相关文章:

windows - 在Windows 10上安装Grails

loops - 如何增加寄存器中的每个字节? (64位,Linux,NASM)

php - Yii Controller 命名约定

linux - 回溯时我们如何确定有多少参数?

linux - 适用于 gnome 桌面版的 Wiki 编辑器

windows - 从 Linux 背景学习 Windows 开发

python - urllib.request.urlopen:SSL:Windows> = Vista(7/8/10/Server 2008)在Windows> = 3.4上的Windows上的SSL:CERTIFICATE_VERIFY_FAILED错误

c++ - 当 "required"运行时库不存在时显示(自定义)错误?

c++ - 为什么 VS 2015 编译器不能优化 float 的 abs() 实现中的分支?

assembly - x86 程序集 : Data in the Text Section