Google nacl sdk
2016-04-17 11:58
603 查看
何谓NaCl
NaCl是一项能让C/C++代码运行在浏览器当中的技术。这是一个最通俗的说法,但不够精确。严格来说,NaCl技术在理论上能够实现任何编译型语言都在其之上运行。但是目前由于技术上的原因,NaCl还做不到任何语言任何平台的编译型语言支持。
因为NaCl所憧憬的实际是LLVM技术,LLVM技术的要点即在于能将编译型语言转化为一个统一的中间语言,NaCl通过对这个中间语言的执行,即可达成任何编译型语言的运行。换句话说,NaCl实际上希望搭建一个虚拟机。
不过LLVM现在还不够成熟,NaCl不得不先使用GNU的编译套件,使用LLVM技术的版本被称为了PNaCl,目前还没有正式推出。同时也因为这个原因,ARM架构没能正式支持。
为什么NaCl
在开发层面上,NaCl希望解决一个问题:JavaScript的低效率。当然,从经营策略上来说,Google可能还希望籍此将桌面领域的成熟软件快速移植到其Chrome OS当中,不过这不是我们讨论的重点。JavaScript毕竟是一门解释型语言,只有当浏览器执行到代码的时刻才能够看到代码,因此在执行优化上力度非常小。
但是Web应用发展至今,效率已经必须拿到桌面上考虑,如果你还想在浏览器里面看到更多优质的游戏的话。
有关限制
缺乏能够切合的IDE不支持硬件异常
不支持创建子进程
不支持原生TCP/UDP操作(但已提供了websocket支持)
不支持同步I/O
不支持内存剩余查询
内联汇编代码必须通过NaCl验证
NaCl的Pepper API必须通过主线程使用
下载;
nacl_sdk
ppapi
pepper_49
相关文章推荐
- Django教程03 模型(model)
- CodeForces 616D Longest k-Good Segment
- HDU 1056 HangOver(数学题)
- 给人类支三招对付AlphaGo
- google play aso
- google big table
- google file system
- 使用go构建命令行程序的快捷之道
- go 安装
- Django:之ORM、CMS和二维码生成
- SAE部署django应用
- leetcode 169. Majority Element 多数投票算法(Boyer-Moore Majority Vote algorithm)
- Visible.GONE
- [Google Codejam] Round 1A 2016 - Rank and File
- [Google Codejam] Round 1A 2016 - The Last Word
- golang windows环境下的配置安装
- 【笔记】A Review on Multi-Label Learning Algorithms
- mongo入门--基本参数配置
- 研究Golang
- 算法导论习题:10.2-7 in Go语言