小编rub*_*ner的帖子

GCC - 在 64 位系统上编译 32 位代码

我正在学习汇编,我需要将一段 C 代码编译成一个 32 位可执行文件。问题是我不断收到此错误。我试过安装 gcc-multilib 和 g++-lib,但没有帮助。有谁知道可能会发生什么?

> gcc main.s -m32 -o main

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu 16.10 上使用 gcc 版本 4.8.5 (Ubuntu 4.8.5-4ubuntu4)。

更新:添加了编译命令。我事先编译了 .s 文件,gcc -m32 -S main.c因为我需要查看汇编代码。

64-bit compiling 32-bit gcc

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

32-bit ×1

64-bit ×1

compiling ×1

gcc ×1