首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >命名空间v8和命名空间v8::internal有什么不同?

命名空间v8和命名空间v8::internal有什么不同?
EN

Stack Overflow用户
提问于 2019-02-09 20:43:57
回答 1查看 112关注 0票数 1

当我阅读V8的源代码时,我得到了一个我不太了解的部分。

代码语言:javascript
复制
  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的实现,然后发现了以下代码:

代码语言:javascript
复制
// static
Isolate* Isolate::Allocate() {
  return reinterpret_cast<Isolate*>(i::Isolate::New());
}

因为我读了更多的代码,我知道'i‘意味着’内部‘,但我不确定其余的。v8::Isolate和v8::internal::Isolate兼容吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-09 21:04:58

通常,每当C++库需要声明/定义库使用但用户不应该使用的内容时,都会使用internal (通常也称为detail)名称空间。

这是一种类似于“库链接”的方式。希望如果/当模块到达C++时,我们会有更好的方法来处理这个问题。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54606331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档