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

标签 c++ c gcc built-in

在我的程序中我使用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/

相关文章:

c - outb 宏中的 GCC 错误消息

c++ - 关于在循环中使用 ifstream 的错误

c++ - 重构后的 EXC_BAD_ACCESS 问题

c++ - OpenCL 限制 for 循环大小?

c - 用于大小分析的 GCC 工具?

linux - 查找已编译的可执行文件的版本

c++ - curl 慢速多线程 dns

c++ - 创建 AVPacket 结构的拷贝

c++ - Linux 编程接口(interface)中的信号处理程序示例

c - 在 C 语言中,为什么指向字符的指针变量的值在赋值后不能更改?