根据https://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0056d/Cihcciij.html ,如果我的ARM汇编代码需要访问名为globvar
的C全局变量,我应该使用import
和load
指令:
AREA globals,CODE,READONLY EXPORT asmsubroutine IMPORT globvar asmsubroutine LDR r1, =globvar ; read address of globvar into ; r1 from literal pool LDR r0, [r1] ADD r0, r0, #2 STR r0, [r1] MOV pc, lr END
,但是当我在我的代码中使用它时,会出现"bad instruction
import globvar”的错误。 我正在使用armv7-android-gcc编译器。 我也在这个论坛中寻找类似的问题,但我没有得到有用的结果,所以有人可以帮我解决这个问题吗? 非常感谢。
使用EXTERN globvar
而不是IMPORT globvar
。
以上就是c/c++开发分享ARM程序集访问C全局变量相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/544957.html