在我的程序中我使用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
这样的内置函数本身并不是函数,因此您可能找不到它的“定义”。
GCC 是一个编译器。它实现了语言。它读取您的函数定义并发出包含 CPU 指令的二进制文件。在这种情况下,它会向 CPU 发出指令,而无需读取 C 或 C++ 源文件。相反,它直接操作用于表示正在编译的程序的内部数据结构。
您可能想查看gcc/builtins.c中定义的expand_builtin_memory_chk其用途。
关于c++ - 我在哪里可以找到内置的 gcc memcpy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57416694/