我想提供自己的或更好的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): In function `malloc':
malloc.c:(.text.malloc+0x0): multiple definition of `malloc'
我正在寻找一种跳过lib_a-malloc.o
作为澄清:与其说完全没有malloc
,还不如说是提供自己的实现。提供我自己的实现只是为了检查是否已经存在或者用于调试目的。
答案 0 :(得分:1)
使用与标准函数名称相同的名称几乎总是一个坏主意。
即使您一段时间不从事该项目,也不会记得您在代码中阅读的'
不是我们都知道和喜爱的malloc()
。抛开其他人。
因此,出于可维护性和可读性考虑,建议您以不同的名称命名函数,例如:malloc()
。