gpt4 book ai didi

c - 在 cortex m3(裸机)上使用 arm-none-eabi 禁用默认 malloc

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:22 25 4
gpt4 key购买 nike

我想提供我自己的或更好的没有 malloc 功能。所以我想确保它根本没有链接。

我已经将 -nostdlib--specs=nano.specs 传递给链接器。

当提供我自己的 malloc 函数时,我得到:
../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/lib/thumb/v7-m\libc_nano.a( lib_a-malloc.o): 在函数`malloc'中:
malloc.c:(.text.malloc+0x0): malloc 的多重定义

我正在寻找一种方法来跳过 lib_a-malloc.o

的链接

澄清一下:与其说是提供我自己的实现,不如说根本没有malloc。提供我自己的实现只是为了检查是否已经有一个或用于调试目的。

最佳答案

使用与标准函数名称相同的名称几乎总是一个坏主意。

即使是你,在一段时间没有从事那个项目之后,也不会记得你在代码中阅读的这个 malloc() 不是那个 malloc()我们都知道并爱过。别管别人了。

因此,为了可维护性和可读性,我建议您以不同的方式命名您的函数,简单的示例:my_malloc()

PS:您可能想阅读 GCC - How to stop malloc being linked?

关于c - 在 cortex m3(裸机)上使用 arm-none-eabi 禁用默认 malloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53185539/

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