我如何在64位Linux上使用Gas('as')将源代码汇编为32位二进制文件?
这是为了遵循32位教程而不必更改所有指针和大量指令为四重字的麻烦。
谢谢,
Chris。
P.S. 我可以轻松地在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
-m32
命令在gcc中添加32位编译选项。 - user786653