我有在Linux共享内存(/ dev / shm / datahere)中写一些日期的应用程序。我需要使用Google Native Client在浏览器中显示此数据。是真的?我该怎么做?
我不得不在Internet上进行大量挖掘,但找到了一个解决方案:刚好由于沙箱而无法从浏览器访问,但是有一个Chrome Apps,借助NaCl可以访问文件系统。
要构建NaCl随附的Chrome应用并访问文件系统,请执行以下操作:
下载nacl_sdk。更新它,获取示例(pepperX)
在文件中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)
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.
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] 删除。
我来说两句