illegal instruction arm

本文探讨了在ARM架构上出现的illegal instruction错误现象,并通过修改特定代码片段解决了该问题。文中详细介绍了如何调整代码以避免错误的发生,同时提供了编译配置建议来确保代码在ARM平台上正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pc运行没问题,但是arm上illegal instruction错误.定位到错误出现在下面代码(里面变量均为int)  

            y=y+dif*0.5+boaderWidth; 

改为两行,或者移位实现除以2不会报错.具体原因未知.是不能智能的转换数据类型造成的

            int dif_half=dif*0.5;

            y=y+dif_half+boaderWidth;

也可以改为

            y=y+(int)(dif*0.5)+boaderWidth;

不改动代码的情况,应该增加arm的编译配置选项-march=armv7-a -mfpu=neon  -mfloat-abi=hard -mcpu=cortex-a9


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值