HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

PNaCl:Google 通过 LLVM 增强对 Chrome 中原生应用的支持

  • 2013-05-20
  • 本文字数:820 字

    阅读完需:约 3 分钟

通过支持运行 LLVM 位码(bitcode),Google 增强了对 Chrome 中原生应用的支持。

Google I/O 2013 大会上,Google 宣布了预期加入的 PNaCl (Portable NaCl,读作“pinnacle”),继续推进对 Chrome 中原生应用的支持。PNaCl 修改了原来的工具链,与之前为每种目标平台编译 C/C++ 应用不同,现在开发者只需生成一份 LLVM 位码,之后位码可以由任一 Chrome 客户端加载,在本地转换为原生代码、验证和执行。

目前,x86-32、x86-64 和 ARM 架构上的 Chrome 29 已支持 PNaCl。在 PNaCl 完整发布之后,Chrome 客户端能够在任意页面上运行原生模块,而无需将其打包为面向 Chrome Web Store 的应用。此外,PNaCl 模块无需重新编译即可在未来的架构上运行。更为有趣的是,尽管目前只支持 C/C++,理论上 PNaCl 模块可以以任何能够编译为LLVM 位码的语言编写,包括ActionScript、Ada、D、Fortran、Haskell、Java 字节码、Objective-C、Python、Ruby、Rust、Scala 和C#等,拓宽了可以在Chrome 中运行的遗留的和较新的原生应用的使用范围,这些应用只需要很小的调整,甚至无需调整。

2010 年,4 位 Google 工程师组成的一个团队在内部提出了 PnaCl( PDF ),几位作者想象的是这样一种解决方案:

  • 为编译的 NaCl 模块提供一种独立于指令集体系结构(ISA)的格式,无需重新编译即可支持多种目标平台。
  • 便于 NaCl 开发者构建、测试和部署可移植的执行模块。
  • 首先要支持 x86-32、x86-64 和 ARM 指令集,但要很容易支持未来其他流行的通用处理器。
  • 能够保持原生客户端所拥有的安全和性能属性。

PNaCl 仍然使用原来的 NaCl 沙盒机制,以保证运行翻译位码时的安全性。具体逻辑如下图所示,客户端从服务器请求位码,然后针对自己的架构将其转换为原生的可执行代码。翻译可能在本地进行(在另一个 NaCI 沙盒内),也可能通过另一个实体远程执行。

PnaCl 开发工具链支持 Windows、Mac 和 Linux, SDK 可以从项目网站下载

查看英文原文: PNaCl: Google Adds More Native Support to Chrome via LLVM

2013-05-20 10:452973
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 134.3 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

产品经理如何快速提升工作效率?这10款工具助你一臂之力!

彭宏豪95

产品经理 产品管理 在线白板 办公软件 在线协作

掌握Nginx的高级用法,构建高性能Web应用

树上有只程序猿

nginx

数字化践行程果 | 砥砺前行,程果创新,共启全球新篇章

携程商旅

OpenHarmony设备环境查询:Environment

OpenHarmony开发者

OpenHarmony

第12期 | GPTSecurity周报

云起无垠

KaiwuDB 亮相第四届跨国公司领导人青岛峰会

KaiwuDB

未来十年中人工智能的发展趋势

测吧(北京)科技有限公司

测试

人工智能 | 机器学习在金融领域的应用

测吧(北京)科技有限公司

测试

人工智能与职业的未来:合作与转型

测吧(北京)科技有限公司

测试

语音识别技术在安全领域的应用与挑战

来自四九城儿

HarmonyOS音频通话开发指导

HarmonyOS开发者

HarmonyOS

HarmonyOS自定义抽奖转盘开发(ArkTS)

HarmonyOS开发者

HarmonyOS

自然语言处理的突破与挑战:解析智能语言的复杂性

测吧(北京)科技有限公司

测试

用低代码平台代替Excel搭建进销存管理系统

互联网工科生

Excel 低代码平台

释放未来的力量:人工智能在农业中的潜力

测吧(北京)科技有限公司

测试

Dapp公链NFT模式系统开发丨区块链技术部署

V\TG【ch3nguang】

语音识别技术在在线教育领域的应用与挑战

来自四九城儿

文心一言 VS 讯飞星火 VS chatgpt (121)-- 算法导论10.4 2题

福大大架构师每日一题

福大大架构师每日一题

人工智能在环境保护中的应用

测吧(北京)科技有限公司

测试

Java爬虫实战:API商品数据接口调用

Noah

语音识别技术的进步和应用

测吧(北京)科技有限公司

测试

人工智能在艺术和创意领域的作用:数字化的艺术复兴

测吧(北京)科技有限公司

测试

服务器常见问题排查(一)——CPU占用高、上下文频繁切换、频繁GC

遥遥知识库

后端 服务器 性能调优 问题定位 线上环境问题

人工智能如何改变医疗保健

测吧(北京)科技有限公司

测试

深度学习如何革新自动驾驶技术

测吧(北京)科技有限公司

测试

链游系统开发(开发搭建方案)丨链游DAPP智能合约游戏系统源码实例应用

V\TG【ch3nguang】

美国服务器租用:加速你的网站速度和全球可及性

一只扑棱蛾子

美国服务器 美国服务器租用

DAPP丨OP链区块链技术质押挖矿系统开发

l8l259l3365

机器人和机器人学在工业自动化中的关键角色

测吧(北京)科技有限公司

测试

PNaCl:Google通过LLVM增强对Chrome中原生应用的支持_Google_Abel Avram_InfoQ精选文章