NaCl和共享内存

亚历克斯·斯基芬

我有在Linux共享内存(/ dev / shm / datahere)中写一些日期的应用程序。我需要使用Google Native Client在浏览器中显示此数据。是真的?我该怎么做?

亚历克斯·斯基芬

我不得不在Internet上进行大量挖掘,但找到了一个解决方案:刚好由于沙箱而无法从浏览器访问,但是有一个Chrome Apps,借助NaCl可以访问文件系统。

要构建NaCl随附的Chrome应用并访问文件系统,请执行以下操作:

  1. 下载nacl_sdk。更新它,获取示例(pepperX)

  2. 在文件中nacl_sdk/pepper_46/tools/common.mk找到一行SANDBOX_ARGS:= --no-sandbox并更改为:

SANDBOX_ARGS:=-无沙箱--allow-no-sandbox-job --nacl-dangerous-no-sandbox-nonsfinacl

CHROME_ENV?=,以:

CHROME_ENV = NACL_DANGEROUS_ENABLE_FILE_ACCESS = 1

2.1如果使用run_package,则需要在文件common.mk中写入:

run_package:check_for_chrome全部@echo“ $(TOOLCHAIN)$(CONFIG)”> $(CURDIR)/ run_package_config Exec = env NACL_DANGEROUS_ENABLE_FILE_ACCESS = 1 “ $(CHROME_PATH)” --load-and-launch-app = $(CURDIR)$ (CHROME_ARGS)

  1. 在项目的Makefile中需要添加以下内容:
LIBS = ppapi_cpp ppapi pthread nacl_io
DEPS = nacl_io
CFLAGS = -Wall
SOURCES = <filename> .cc

# Build rules generated by macros from common.mk:
$ (foreach dep, $ (DEPS), $ (eval $ (call DEPEND_RULE, $ (dep))))
$ (foreach src, $ (SOURCES), $ (eval $ (call COMPILE_RULE, $ (src), $ (CFLAGS))))

# The PNaCl workflow uses both an unstripped and finalized / stripped binary.
  1. 代码示例。这非常重要-不要读/ dev / shm读/ var / run / shm:
int file;
file = open("/var/run/shm/helloworld.txt", O_RDONLY);
char buffer[1024];
memset(&buffer, 0, 1024);
read(file, buffer, 13);
pp::Var var_reply(buffer);
PostMessage(var_reply);

PS也许这不是一个好的解决方案,但对我有用

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

NaCl和共享内存

来自分类Dev

联合和结构内存共享

来自分类Dev

POSIX共享内存和msync

来自分类Dev

memcpy 和共享内存结构

来自分类Dev

Cuda全局共享内存和常量内存

来自分类Dev

ElasticSearch和Lucene如何共享内存

来自分类Dev

启动内核时共享内存和流

来自分类Dev

共享内存和POSIX信号灯

来自分类Dev

OSX和共享内存需要sudo

来自分类Dev

mmap()用于共享内存和线程

来自分类Dev

Boost共享内存中的结构和向量

来自分类Dev

PHP和QT之间的共享内存

来自分类Dev

共享内存组织线程和块

来自分类Dev

启动内核时共享内存和流

来自分类Dev

共享内存和POSIX信号灯

来自分类Dev

Linux中的文件孔和共享内存?

来自分类Dev

phpstorm和qt共享内存段泄漏

来自分类Dev

信号量和共享内存

来自分类Dev

线程和进程之间共享内存

来自分类Dev

共享和非共享内存大小之间的差异

来自分类Dev

共享内存缓存与专用内存缓存和配额计算

来自分类Dev

AWS NACL和RDP问题

来自分类Dev

NAT实例和NACL配置

来自分类Dev

在取消链接和更换共享内存之前可以更改共享内存吗?

来自分类Dev

Fortran和C混合编程(共享内存)

来自分类Dev

内核空间和用户空间之间的大共享内存

来自分类Dev

Linux上的共享内存没有ftruncate和物理文件?

来自分类Dev

共享内存:密钥和ID有什么区别?

来自分类Dev

如何删除未使用的共享内存和信号灯?