【发布时间】:2019-10-15 09:05:09
【问题描述】:
在浏览 libc++ 代码时,我看到 ndk 分配器 __allocate 函数正在调用 __builtin_operator_new,但我在 libc++ 代码中找不到它的定义。
从名字上可以看出它是内存分配函数。但谁来实施呢?它是由像clang,gcc这样的编译器定义的吗?在哪里可以找到它的定义?
【问题讨论】:
-
嗯,clang 是开源的,所以你可以搜索它的代码,看看符号是否在那里。按照定义,内置插件是编译器内置的东西,所以它看起来是个不错的地方。
-
请注意,这是特定于您正在使用的特定编译器的实现细节。如果你想编写可移植的 C++,你应该假装你对它们一无所知