Assembly 汇编指令。uclibc gcc中的外部使用

Assembly 汇编指令。uclibc gcc中的外部使用,assembly,arm,extern,uclinux,Assembly,Arm,Extern,Uclinux,我尝试在.S程序中使用.c文件中定义的变量 在.c文件中: const int var = 10; 在.S文件中时: .extern var LDR lr, _VAR _VAR: .word var 它可以被编译。但在执行时,出现错误消息不能修改应用程序的文本部分;对于位置独立的可执行文件,使用GCC选项-fPIE 交叉编译工具是arm-v7-linux-uclibceabi-gcc。目标是手臂皮质R4 外人不能这样使用吗 谢谢, Simmis.您是否试图写入该变量?也许是在集会?它

我尝试在.S程序中使用.c文件中定义的变量

在.c文件中:

const int var = 10;
在.S文件中时:

    .extern var
LDR lr, _VAR
_VAR: .word var
它可以被编译。但在执行时,出现错误消息不能修改应用程序的文本部分;对于位置独立的可执行文件,使用GCC选项-fPIE

交叉编译工具是arm-v7-linux-uclibceabi-gcc。目标是手臂皮质R4

外人不能这样使用吗

谢谢,
Simmis.

您是否试图写入该变量?也许是在集会?它是只读数据,可能链接器脚本已经将其放在文本部分,因此您无法写入它。

您使用的是哪种芯片?什么微处理器?MIPS?臂照片?飞思卡尔?阿特梅尔?手臂皮质R4。ST芯片组。强烈建议您在邮件正文中包含该细节;此外,还可以添加一个标签。现在您有了Assembly和Extern的标记。我鼓励您也添加ARM和cortexNo。只是使用ldr获取var。