gpt4 book ai didi

c - ARM 链接器错误 : Heap was used, 但未定义堆区域

转载 作者:太空宇宙 更新时间:2023-11-04 04:23:23 24 4
gpt4 key购买 nike

我正在将一个代码库移植到一个新的构建环境,并在链接时遇到了这个问题。

Error: L6915E: Library reports error: Heap was used, but no heap region was defined

目标是 32 位 Arm Cortex R5。不在代码库的任何地方使用 malloc 或 free。过去,在类似的构建环境端口期间,我通过使用 microlib 解决了这个问题。不过这次没有这样的运气。

编辑:原来我可以通过在编译时使用 microlib 来解决这个问题。当我问这个问题时,我以为我试过了,但实际上没有。

最佳答案

通过重新定位 fputc 并重新定义 __stdout 和 __stdin 解决了这个问题。fputc() 的 ARM C 库实现似乎一直在使用 malloc(),因此在将 fputc 重新定位为使用我的 UART 驱动程序之后,我的代码中没有堆访问函数。

struct __FILE { int handle;   /* Add whatever you need here */};
FILE __stdout;
FILE __stdin;


int fputc(int ch, FILE *f)
{
}

关于c - ARM 链接器错误 : Heap was used, 但未定义堆区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44061325/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com