gpt4 book ai didi

c - 非法指令 CMOVE - 为 i586 编译

转载 作者:太空宇宙 更新时间:2023-11-04 08:17:15 25 4
gpt4 key购买 nike

我有一台 x86_64 机器,想为一台有 i586 arch 的机器编译。

我安装了:libc6-dev-x32libc6-dev:i386

然后我尝试像这样编译一个简单的 hello world:

gcc -m32 -march=i586 -mcpu=i586 test.c -o test -static

它在我的机器上工作,但在目标上,我在 CMOVE 指令上遇到非法指令错误。所以他不知道CMOVE

我该如何解决这个问题?

最佳答案

您静态链接到您的主机系统的 glibc,它使用 CMOV* 指令。所以编译器开关不会有帮助。

一种选择是链接dietlibc:

  • 安装包 dietlibc-dev:i386

  • 针对它的链接:diet gcc -m32 -march=i586 -mcpu=i586 test.c -o test -static

现在您的二进制文件不应包含有问题的指令。

关于c - 非法指令 CMOVE - 为 i586 编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35115842/

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