Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将assembly.s链接到gcc错误_Gcc_Assembly - Fatal编程技术网

将assembly.s链接到gcc错误

将assembly.s链接到gcc错误,gcc,assembly,Gcc,Assembly,嗨,我在链接我的“.s”文件时遇到了几个错误 首先,我通过“gcc-S-m32 search.c”将该文件编译为 获取我的32位汇编代码 其次,我想使用gcc-o将程序重新链接到一起 search.s“ 如果我这样做,我会得到以下错误:“error:invalid instruction suffix for`push.”我试图使用google解决这个问题,并通过使用--32选项标志找到了解决方案。但这也不起作用。结果显示以下错误: 输入文件的usr/bin/ld:i386体系结构与i386

嗨,我在链接我的“.s”文件时遇到了几个错误

  • 首先,我通过“gcc-S-m32 search.c”将该文件编译为 获取我的32位汇编代码

  • 其次,我想使用gcc-o将程序重新链接到一起 search.s“

如果我这样做,我会得到以下错误:“error:invalid instruction suffix for`push.”我试图使用google解决这个问题,并通过使用--32选项标志找到了解决方案。但这也不起作用。结果显示以下错误: 输入文件的usr/bin/ld:i386体系结构与i386:x86-64输出不兼容。第三个选项是将.code32添加到.s文件,gcc让我编译它。尽管通过执行控制台会立即显示“内核转储”

所以我真的不知道现在该怎么办。有人知道我是如何工作的吗

干杯

--32
组合,并与
-m32
链接

gcc-m32-o search search.s

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

使用
--32
组装,并链接到
-m32

gcc-m32-o search search.s


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

您也应该使用
-m32
进行链接。哈哈,这太简单了。非常感谢你!你也可以使用
-m32
进行链接。哈哈,这太简单了。非常感谢你!可能重复的