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

时间:2011-01-14 11:25:27

标签: google-nativeclient

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

4 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:6)

Native Client documentation可能是尝试弄清楚一切如何运作的良好起点。

正如Mark Seaborn和Bennet Yee所说,你可能最好不要使用sel_ldr。有关sel_ldr如何包含在“The life of sel_ldr”中的更多详细信息。

我没有亲自实现任何在浏览器之外使用NaCl的东西,所以我不能不遗憾地评论这样做的容易程度。

答案 2 :(得分:4)

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

答案 3 :(得分:2)

您可以尝试包含在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,并自动将适当的参数传递给它。