我可以在浏览器之外运行 Google 的 Native Client 吗?

发布于 2024-10-11 17:00:51 字数 40 浏览 1 评论 0原文

是否可以在浏览器之外将 Google NaCl 作为进程沙箱运行?

Is it possible to run Google NaCl outside of the browser as a process sandbox?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

节枝 2024-10-18 17:00:51

是的。 Native Client 的独立版本包含一个名为“sel_ldr”的程序,该程序在 Web 浏览器之外运行 NaCl 沙箱。很多 NaCl 的测试套件通过在 sel_ldr 下运行程序而不是在浏览器下运行程序来测试 NaCl。

Yes. The standalone build of Native Client contains a program called "sel_ldr" which runs the NaCl sandbox outside of the web browser. A lot of NaCl's test suite tests NaCl by running programs under sel_ldr rather than under the browser.

じее 2024-10-18 17:00:51

Native Client文档可能是尝试弄清楚一切如何工作的一个很好的起点。

正如 Mark Seaborn 和 Bennet Yee 指出的那样,您可能最好考虑使用 sel_ldr。有关 sel_ldr 如何包含在“The life of sel_ldr”中的更多详细信息。

我个人还没有在浏览器之外实现任何使用 NaCl 的东西,因此不幸的是我无法评论这样做的难易程度。

The Native Client documentation is probably a good starting point for trying to figure out how everything works.

As Mark Seaborn and Bennet Yee indicate, you are probably best off looking into using sel_ldr. More details about how sel_ldr is included in "The life of sel_ldr".

I haven't personally implemented anything that uses NaCl outside of a browser, so I can't unfortunately comment on the ease of doing so.

冬天的雪花 2024-10-18 17:00:51

要添加到马克的答案,请查看 sel_universal 目标。显然有一些接口是不支持的,例如Pepper接口,因为这样的单机运行不涉及浏览器。此外,我们支持的稳定 ABI 是由“集成运行时”或 irt 公开的,并且 irt 代码 thunk 假定浏览器存在。通过 sel_ldr 独立使用 NaCl 可能最初必须使用系统调用接口,直到写入替代的 irt。 (注意:我们不保证系统调用接口的稳定性。)

To add to Mark's answer, take a look at the sel_universal target. There are obviously some interfaces that cannot be supported, e.g., Pepper interfaces, since such a stand-alone run doesn't involve a browser. Furthermore, the stable ABI that we support is that which is exposed by the "integrated runtime" or irt, and the irt code thunk assumes that the browser is present. a standalone use of NaCl via sel_ldr would probably have to use the syscall interface initially, until an alternate irt is written. (NB: we make no guarantees about the stability of the syscall interface.)

乞讨 2024-10-18 17:00:51

您可以尝试包含在 Native Client 源代码中的 run.py

这是运行 hello world 程序的示例。

make test_hello_world_nexe
python native_client/run.py out/Debug/hello_world_newlib_x64.nexe

该脚本可以构建、搜索和调用 sel_ldr,并自动向其传递适当的参数。

You can try run.py which included in Native Client's source.

Here is an example that runs a hello world program.

make test_hello_world_nexe
python native_client/run.py out/Debug/hello_world_newlib_x64.nexe

This script can build, search and invoke sel_ldr, and pass proper arguments to it automatically.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文