在 X86-64 Ubuntu 20.04 上,为什么我的 32 位可执行文件不是?

乔纳森·弗莱

我正在尝试在 Windows 10 上的 WSL 上运行的 x86_64 Ubuntu 20.04 上构建 32 位可执行文件(以查看它是否运行得更快)。如果我在 g++ 中构建没有 -m32 选项的相同代码,则结果会运行。如果我使用 -m32 构建它,则不会。这是完整的序列:

jon@2014Laptop:~/projects/KSolve$ uname --m
x86_64
jon@2014Laptop:~/projects/KSolve$ g++ -m32 -g speeder.cpp Game.cpp KSolve.cpp -I. -o speeder
jon@2014Laptop:~/projects/KSolve$ file speeder
speeder: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV),
 dynamically linked, interpreter /lib/ld-linux.so.2, 
 BuildID[sha1]=3212c37b68b4eb6aec34e957739275dc272ecb86, for GNU/Linux 3.2.0,
 with debug_info, not stripped
jon@2014Laptop:~/projects/KSolve$ ./speeder
-bash: ./speeder: cannot execute binary file: Exec format error

jon@2014Laptop:~/projects/KSolve$
湍流

stackoverflow中提出了一个类似的问题,接受的答案指出 WSL 不支持 32 位二进制文​​件。但是 Froosh 后来说使用qemu是可能的

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法在64位Ubuntu上运行32位动态可执行文件

为什么我的64位可执行文件比32位可执行文件大3倍?

为什么32位可执行文件不能在WoW64下运行?

在64位Debian Jessie上运行32位可执行文件

比较64位x86平台上的PIE,PIC代码和可执行文件有什么区别?

如果我们可以在64位Windows上运行32位可执行文件,为什么不能将其转换?

无法以32位可执行文件(在64位操作系统上)以编程方式访问EFS文件

如何安装build-essential:i386以在64位系统上编译32位可执行文件?

如果可执行文件不存在,如何安装32位或64位可执行文件?

Ubuntu 12.02 32位打印机程序可执行文件无法在Ubuntu 14.04 64位中正常运行

为什么我不能在Linux上执行Android x86可执行文件

ARM Linux可执行文件神秘地在x86_64上运行

在Windows / Linux上使用python3脚本检查可执行文件是32位还是64位

Windows 7:我应该安装64位还是32位版本?(x64与x86)

在同一台PC上安装x64(64位)和x86(32位)Microsoft Office?

gfortran:在64位系统中编译32位可执行文件

在32位和64位计算机上的C / C ++可执行文件

在 x86_64 系统上运行 x86-64 可执行文件无法执行二进制文件:Exec 格式错误

为什么Windows 32位称为Windows x86,而不是Windows x32?

在Ubuntu 13.10中运行32位可执行文件

在Ubuntu中哪里可以找到IntelliJ IDEA 64位可执行文件?

有没有一种方法可以在FAT32中使用/ boot在64位x86 SBC上安装Ubuntu,并在安装过程中添加其他文件?

x86 32位汇编代码是否有效x86 64位汇编代码?

如何在PowerShell中检查要安装的可执行文件是32位还是64位?

如何在32位或64位配置中以编程方式运行ANY CPU .NET可执行文件?

如何将64位和32位可执行文件绑定为一个?

是否可以在64位窗口的“程序文件”中安装32位程序而不是“程序文件(x86)”?

为什么GRUB在我的多重引导配置中引导Debian 32位而不是Ubuntu 64位?

如何使用mingw-w64编译和链接32位Windows可执行文件