google-chrome - 将 Dart VM 作为 Chrome NaCl 插件提供有多难?

标签 google-chrome google-chrome-extension dart

Dart 和 NaCl 都是操作系统项目。我想知道提供一个可以在任何 Chrome 浏览器上执行 Dart 代码的 NaCl 插件有多难?! 与包装的 JavaScript API 相比,Pepper C/C++ API 看起来要好得多。

最佳答案

Nacl 有一些安全限制,使得在其中执行 Jitting VM 变得非常困难(但并非不可能)。它还无法很好地访问 DOM,这将严重限制 VM 的可用性。您可能只希望这种方法适用于使用 Dart 作为脚本引擎的 C++ 程序(例如在游戏中)。

似乎有一个项目试图移植 v8:nacl-v8

他们的自述文件描述了一些问题:

  • NaCl 不允许代码段中存在数据。
  • 可执行内存必须由 NaCl 标记的特殊区域提供,以用于动态加载的代码。我猜测 Nacl 想要对其进行一些检查,这可能会减慢执行速度。
  • 所有代码插入/删除/ self 修改都必须通过 NaCl 服务运行时调用来执行。
  • 虚拟机发出的代码必须符合 NaCl 安全约束(例如间接跳转的沙箱、指令对齐)。

关于google-chrome - 将 Dart VM 作为 Chrome NaCl 插件提供有多难?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26071050/

相关文章:

google-chrome - 发送答案之前收到ICE候选人时的错误

google-chrome-extension - Chrome 扩展弹出窗口即使在更改其内容后也会重置

javascript - 操纵 Google 结果页面以添加有关 RHS 的部分

scroll - 基于列表的ListView的溢出

javascript - 阻止原始框架 "null"访问跨域框架 - chrome

jQuery .innerWidth() 在不同浏览器中给出不同的值

google-chrome - Chrome 无法使用 chromedriver2.9 在 CentOS 上启动

google-chrome-extension - 我可以在 Browserstack 上运行时添加 Chrome 扩展吗?

android - 如何在 dart 中使用异步函数的值

dart - 如何初始化烟雾