gpt4 book ai didi

assembly - 如何使用 Gas ('as' ) 在 64 位 linux 上组装 32 位二进制文​​件?

转载 作者:行者123 更新时间:2023-12-04 17:56:33 26 4
gpt4 key购买 nike

如何在 64 位 Linux 上使用 Gas ('as') 将源代码组装成 32 位二进制文​​件?

这是为了遵循 32 位教程,而不必将所有指针和大量指令更改为四字。

谢谢,

克里斯。

附言我可以在 C 中轻松做到这一点...

chris@chris-linux-desktop:~$ cat test.c
#include "stdio.h"

int main() {
printf("hello world");
return 0;
}

chris@chris-linux-desktop:~$ gcc test.c -o test64
chris@chris-linux-desktop:~$ gcc -m32 test.c -o test32
chris@chris-linux-desktop:~$ file test32
test32: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped
chris@chris-linux-desktop:~$ file test64
test64: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped

最佳答案

使用 as使用选项“--32”,例如
as --32 source.s -o objectfile
或者,您可以仅使用 gcc 来组装和链接汇编器源文件。 gcc 通过结尾识别它。
gcc -m32 source.s -o executable

关于assembly - 如何使用 Gas ('as' ) 在 64 位 linux 上组装 32 位二进制文​​件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7927406/

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