memcpy arm的位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了memcpy arm的位置相关的知识,希望对你有一定的参考价值。

我在ARM平台上使用memcpy,我想查看memcpy的源代码。从我的源代码中查看对象转储,我知道使用了这个memcpy:

/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/lib/thumb/v7e-m/libc.a(lib_a-memcpy.o)

如何查看memcpy的.c源代码?

答案

在一些编译器(带有一些优化标志)上,memcpy将使用一些由编译器神奇处理的__builtin_memcpy(甚至可以不发出任何函数调用,但总是内联和专用)。

请参阅this相关问题和documentation of GCC builtins。最后,深入研究GCC编译器的源代码。

另请参阅libc的源代码。它可能在一些内部标题中提及__builtin_mempcy

当然,使用gcc -S -fverbose-asm -O并查看生成的汇编程序文件*.s

以上是关于memcpy arm的位置的主要内容,如果未能解决你的问题,请参考以下文章

Linux内核memcpy的不同实现

Linux内核memcpy的不同实现

ARM-NONE-EABI链接链中对memcpy的未定义引用

arm gcc5的交叉编译-正确使用memcpy

memcpy():访问冲突写入位置

有啥方法可以使用 memcpy() 将值复制到特定的字符串位置?