2.10.1. 避免使用 ARM 提供的堆和使用堆的函数

如果开发的嵌入式系统只有有限的 RAM 或有其自己的堆管理功能(如操作系统),则可能需要使用不对堆区进行定义的系统。 要避免使用堆,您可以执行以下任一操作:

可以在代码中引用 __use_no_heap__use_no_heap_region 符号,以确保没有从 ARM 库中链接使用堆的函数。 只应在应用程序中导入一次这些符号,例如,使用以下任一方法:

如果包含使用堆的函数,并且还引用了 __use_no_heap,库将检测发生冲突的符号,并且链接器将报告错误。

要找出使用堆的对象,请使用 --verbose --list=out.txt 进行链接,搜索输出以查找相关符号(此处为 malloc),然后找出引用它的对象。

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