2.6. 调整静态数据访问

本节介绍使用 C 库中的调用来访问静态数据。 可以将使用静态数据的 C 库函数划分为以下类别:

如果 C 库执行的某些操作需要隐式静态数据,则会使用对可替换函数的调用。 Table 2.6 中显示了这些函数。 它们不使用半主机。

Table 2.6. C 库调用 

函数 说明
__rt_errno_addr() 调用以获取 errno 变量的地址。 请参阅__rt_errno_addr()
__rt_fp_status_addr() 浮点支持代码对其进行调用以获取浮点状态字的地址。 请参阅__rt_fp_status_addr()
locale 函数 __user_libspace() 函数为库创建一个专用静态数据块。 请参阅使用汇编程序宏调整区域设置和 CTYPE编写可重入且线程安全的代码

有关内存使用的详细信息,另请参阅调整运行时内存模型

__user_libspace 的缺省实现在 ZI 段中创建一个 96 个字节的块。 即使应用程序没有 main() 函数,通常也不需要重新定义 __user_libspace() 函数。 但是,如果编写的是操作系统或进程切换程序,则必须重新实现此函数(请参阅编写可重入且线程安全的代码)。

Note

在将来的版本中,在定义中使用静态数据的具体函数可能会发生变化。

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0349AC
Non-Confidential