查看: 4753|回复: 2
打印 上一主题 下一主题

科普贴

[复制链接]
跳转到指定楼层
1#
发表于 2012-10-29 21:54:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这么有趣的技术,咋没有人关注呢?转几篇科普贴:


Native Client 发布 debugger 和 Visual Studio 支持2012年10月18日





Native Client(NaCl)是一个可以在Chrome里安全运行Intel x86或ARM原生代码的沙盒技术,方便开发者使用C和C++代码在浏览器里实现高效的应用。今天Google发布了新的Native Client debugger,基于gdb和nacl-gdb,也就是说开发者可以不必再花费太多时间去debug了。

另外就是Native Client还支持了Visual Studio,它将你的应用作为一个Pepper插件和Native Client模块来使用,大大简化了设置、运行和debug的时间。





剑走偏锋的 Native Client2012年5月30日





感谢读者 liuyanghejerry 的投稿。

不知不觉,Google已经正式推出其Native Client (NaCl)过去约7个月之久。而目前国内似乎还没有多少关于NaCl的资料,所以在这里面向Web开发者做一下简单的介绍,希望能够起到一个抛砖引玉的效果。

本文的所有代码均来自于https://developers.google.com/native-client/devguide/tutorial,如果您对其中的任何技术细节存在疑问,请以原文为准。

何谓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必须通过主线程使用
如何使用

上面那些对于行动主义来说其实都是P,真正需要聚焦的还是如何使用。

NaCl的典型项目由三个部分组成:

  • 网页(*.html)。这里所指的网页是一个泛指,它包括JS代码、CSS样式表已经HTML代码。
  • NaCl模块(*.c;*.cc)。这是C/C++代码的文件。
  • 清单(*.nmf)。这份清单类似于Chrome Extension的清单,主要用于指明在不同架构的机器上调用什么模块。

在真正开始之前,我们还需要安装一个NaCl的SDK。这个SDK当中主要包含了NaCl的模块编译工具链。大家可以从这里下载:https://developers.google.com/native-client/sdk/download

安装之前,确保一下机器上有一个可用的Python 2.7,并加入到环境变量当中。

而SDK的安装则相当简单,只需要使用naclsdk update命令即可。



ChinaGDG.com
回复

使用道具 举报

2#
发表于 2012-11-15 10:07:26 | 只看该作者
这样啊,听起来不错。我还在扩展学习阶段,不过了解一下还挺不错。版主要寂寞些日子了。
ChinaGDG.com
回复 支持 反对

使用道具 举报

3#
发表于 2013-3-4 13:50:54 | 只看该作者
有意思............
ChinaGDG.com
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表