使用gcc错误链接程序集。

时间:2016-04-29 13:26:14

标签: gcc assembly

嗨我在连接我的" .s"时遇到了几个错误。一起归档。

  • 首先,我通过" gcc -S -m32 search.c" 编译文件 得到我的32位汇编程序代码。

  • 其次,我想使用" gcc -o
    将程序链接在一起 搜索search.s"

如果我这样做,我会收到以下错误:" 错误:“推送”无效指令后缀。" 我试图使用谷歌解决问题并找到解决方案通过使用--32选项标志。但这也不起作用。结果显示以下错误: usr / bin / ld:输入文件的i386架构与i386:x86-64输出不兼容。第三个选项是将.code32添加到.s文件中,gcc让我编译它。虽然通过执行控制台立即说"核心转储"。

所以我真的不知道该怎么做。任何人都知道我是如何让事情发挥作用的?

干杯

1 个答案:

答案 0 :(得分:2)

--32汇总,并与-m32

相关联

gcc -m32 -o search search.s

如果没有-m32,输出将是64位可执行文件。错误消息是由于输入对象是32位对象;您无法从32位对象生成64位可执行文件。