我在哪里可以找到内置的 gcc memcpy?

where can i find builtin gcc memcpy?

在我的程序中,我使用了 memcpy。 Gcc 生成代码,使用 __builtin___memcpy_chk。我已经下载了 gcc 源代码 https://github.com/gcc-mirror/gcc 并执行 grep -A 10 -R "__builtin___memcpy_chk" 。但我找不到实现 __builtin___memcpy_chk。我在哪里可以找到此功能的实现?

__builtin___memcpy_chk 等内置函数本身不是函数,因此您可能找不到 "definition" 对应的函数。

GCC 是一个编译器。它实现了语言。它读取您的函数定义并发出一个二进制文件,其中包含 CPU 的指令。在这种情况下,它会在不读取 C 或 C++ 源文件的情况下发出 CPU 的指令。相反,它直接操作用于表示正在编译的程序的内部数据结构。

您可能想查看 gcc/builtins.c 中定义的 expand_builtin_memory_chk 以了解它的作用。