当我阅读V8的源代码时,我得到了一个我不太了解的部分。
v8::Isolate::CreateParams create_params;
create_params.array_buffer_allocator =
v8::ArrayBuffer::Allocator::NewDefaultAllocator();
v8::Isolate* isolate = v8::Isolate::New(create_params);我跟踪了v8::Isolate::New的实现,然后发现了以下代码:
// static
Isolate* Isolate::Allocate() {
return reinterpret_cast<Isolate*>(i::Isolate::New());
}因为我读了更多的代码,我知道'i‘意味着’内部‘,但我不确定其余的。v8::Isolate和v8::internal::Isolate兼容吗?
发布于 2019-02-09 21:04:58
通常,每当C++库需要声明/定义库使用但用户不应该使用的内容时,都会使用internal (通常也称为detail)名称空间。
这是一种类似于“库链接”的方式。希望如果/当模块到达C++时,我们会有更好的方法来处理这个问题。
https://stackoverflow.com/questions/54606331
复制相似问题