什么呼什么应| 海为什么是蓝色的| 亲故是什么意思| 血糖高初期有什么症状| 耳鸣吃什么药| 龟头瘙痒是什么原因| 煞星是什么意思| 什么是特异性皮炎| 冶游史是什么意思| 吃什么有助于骨头愈合| 心脏怕什么| 谷丙转氨酶是什么| 什么是胆固醇| 撒尿分叉是什么原因| 梦见自己扫地是什么意思| 月经来有血块是什么原因| 数九寒天是什么意思| 咳嗽喝什么饮料| 古代女子成年行什么礼| 汗疱疹用什么药好| 什么是同素异形体| 96199是什么电话| 西兰花和什么菜搭配| 男性尿道感染吃什么药| 为什么气血不足| 嗳气什么意思| 糖原是什么| 孕妇缺碘对胎儿有什么影响| 脑垂体在什么位置图片| 水泡型脚气用什么药好| 6月19日什么星座| 事业有成是什么意思| 焯水是什么意思| 海胆是什么东西| 孩子打呼噜是什么原因| 2月12号是什么星座| 什么叫双飞| 因特网是什么意思| 惊什么失什么| 辟邪剑谱和葵花宝典有什么关系| 吃布洛芬有什么副作用| 脾不好吃什么药| 白带黄吃什么药| 九月份是什么星座| 慢性宫颈炎是什么原因引起的| 龟苓膏有什么功效| 温暖如初是什么意思| 宫颈出血是什么原因| 猫为什么不怕蛇| 痛风可以喝什么酒| 尿蛋白质阳性什么意思| 神经衰弱吃什么药效果最好| 天美时手表什么档次| 筛是什么意思| 吃什么对心脏好| 十二点是什么时辰| 尿痛吃什么药效果最好| 太作了是什么意思| 负荆请罪的负是什么意思| 甲功异常有什么症状| 晚上睡觉阴部外面为什么会痒| 王晶老婆叫什么名字| 牙痛吃什么药好得快| 低压偏高是什么原因| 梦见自己请客吃饭是什么意思| 血糖高是什么原因引起的| 白血病有什么症状| 爬山需要准备什么东西| 脚疼是什么原因引起的| 摩羯是什么| 逆流而上是什么意思| 身上湿气重吃什么药| 净字五行属什么| 乳环是什么| 风生水起是什么生肖| 抗战纪念日为什么是9月3日| 小孩子走神是什么原因| 三唑仑是什么药| 肝功能异常挂什么科| 地高辛是什么药| 20岁属什么的生肖| 神经性头痛吃什么药效果好| 高血压什么症状表现| 住院送什么花好| 夏天喝什么茶| 半边脸疼是什么原因| 化疗后吃什么排毒最快| 为什么大便是绿色的| 乔迁之喜送什么| 薄荷绿是什么颜色| 腋下是什么部位| 似乎的近义词是什么| 笃什么意思| 身是什么结构的字| mup是什么意思| 塔姆是什么动物| 梦见自己生了个女儿是什么预兆| 甘油三酯指的是什么| 代价什么意思| 灯火葳蕤是什么意思| 停月经有什么症状| 九秩是什么意思| 男人断眉有什么说法| 知柏地黄丸有什么功效| 今天是什么生肖日| 血浓度高是什么原因| 依依不舍的依依是什么意思| 什么的朋友| 棉纱是什么面料| 紫菜和海带有什么区别| 布洛芬缓释胶囊有什么副作用| 胰岛素抵抗是什么意思| 调羹是什么意思| 四季豆不能和什么一起吃| 缺铁有什么症状| 腰间盘突出吃什么药| pcp是什么意思| 外阴白斑是什么症状| 眼睛过敏用什么眼药水| eagle是什么意思| 侏罗纪是什么意思| 丙类药一般是什么药| 表现优异是什么意思| 85年属牛是什么命| 韩世忠为什么不救岳飞| 肠道菌群失调有什么症状| pinsp呼吸机代表什么| 绸缪是什么意思| 来褐色分泌物是什么原因| 睾丸炎用什么药| 羊水污染对宝宝有什么影响| 脾胃虚弱吃什么中成药| 乘风破浪是什么生肖| 什么除草剂三年不长草| 胸口容易出汗是什么原因| 痛风不能吃什么东西| 心什么气什么| 色弱和色盲有什么区别| 尿频去药店买什么药| 为什么端午节要吃粽子| 88年属龙的是什么命| 月经安全期是什么时候| 小狗得细小是什么症状| 峻字五行属什么| 猫的胡须是干什么用的| 宝宝出急疹要注意什么| 现在钱为什么这么难挣| 闲鱼卖出的东西钱什么时候到账| 干嘛是什么意思| 太阴是什么意思| 待我长发及腰时下一句是什么| fabric是什么面料| 出汗少的人是什么原因| 草缸适合养什么鱼| 南北杏和什么煲汤止咳化痰| 橙子是什么季节的水果| 悦风空调是什么牌子| 说女人强势是什么意思| 偶见是什么意思| 10点是什么时辰| 相知相惜是什么意思| 溃烂用什么药治愈最快| 王加几念什么| 尿崩症是什么症状| 心穷是什么意思| 爆炸盐是什么| 大小眼是什么原因| asmr是什么意思| 绿茶喝多了有什么危害| 冰箱里有什么细菌| 大便拉不干净是什么原因| 重要是什么意思| 恶寒什么意思| 肌酐测定是查什么| 男人精子少吃什么药| 阴历7月22什么日子| sansui是什么牌子| 脑萎缩有什么症状| 龙涎是什么| 狗肚子有虫子吃什么药| mect是什么意思| 74年属什么的生肖| 西京医院什么科室最强| 肋骨中间是什么器官| 胃出血吃什么药| 79年属羊的是什么命| 晚上9点到11点是什么时辰| 什么是痣| 什么什么为笑| 女性腋臭什么年龄消失| 网调是什么意思| 埋伏是什么意思| 水柔棉是什么面料| 舌苔厚腻发白是什么原因| 6.8什么星座| 中性粒细胞绝对值偏高是什么原因| 0点是什么时辰| 游泳对身体有什么好处| uva是什么意思| 抑郁到什么程度要吃氟西汀| 指甲上白色月牙代表什么| 当归什么味道| nec医学上是什么意思| 取环是什么意思| 口比念什么| 日加一笔可以变成什么字| 福生无量是什么意思| 阴蒂长什么样| 皿是什么意思| 检查肾功能挂什么科| 金黄金黄的什么填空| 七十岁是什么之年| 百白破是什么疫苗| 做梦梦见搬家是什么意思| 委屈什么意思| 嗓子发炎吃什么消炎药| 牙周炎用什么药| 破气是什么意思| 子宫直肠凹积液是什么意思| 天天做梦是什么原因| 喝酒对身体有什么影响| 波奇饭是什么意思| 不造是什么意思| 三个鬼念什么| 真丝衣服用什么洗最好| 健忘是什么意思| 戒手淫有什么好处| 梦见烧火做饭是什么意思| 殊荣是什么意思| 去乙酰毛花苷又叫什么| 掉钱了是什么预兆| 医学五行属什么| 孕妇吃什么| 樱桃是什么季节的水果| 谁也不知道下一秒会发生什么| 金银满堂是什么生肖| 基因病是什么意思| 幽默是什么意思| 下旬是什么意思| 什么的果实| 感冒头痛吃什么药| 猪肚炒什么好吃| 肝血不足吃什么中成药| 6月12日是什么星座| 梦见打狼是什么预兆| 绿色加什么颜色是蓝色| 哺乳期不能吃什么| 发烧能吃什么水果| 鱿鱼炒什么好吃| 3月11日什么星座| 孕妇肾积水是什么原因引起的| 阴道清洁度三度什么意思| 巨蟹女跟什么星座最配| 女同学过生日送什么礼物比较好| 蛋白质被消化成什么| 吃什么东西可以减肥| 为什么不能打死飞蛾| 虾仁配什么蔬菜包饺子| 爱我永不变是什么歌| 银耳和雪耳有什么区别| zorro是什么牌子的打火机| 取环需要做什么检查| 阳萎是什么意思| 总口渴是什么原因| 百度Jump to content

From Wikipedia, the free encyclopedia
百度 后禅宗衍生出曹洞、临济、云门、法眼、沩仰五宗,史称一花开五叶,使禅宗成为中国汉传佛教主流宗派。

Google Native Client
Developer(s)Google, others
Initial release16 September 2011; 13 years ago (2025-08-06)[1]
Stable release
SDK: Pepper 45 / 10 July 2015; 10 years ago (2025-08-06)

Clients: Same as Google Chrome

Repository
Written inC, C++
Operating systemWindows, Linux, macOS, ChromeOS
Platformx86, ARM, MIPS
SuccessorWebAssembly
TypeSandbox in web browsers for native code
LicenseNew BSD
Websitedeveloper.chrome.com/docs/native-client/ Edit this at Wikidata

Google Native Client (NaCl) is a discontinued sandboxing technology for running either a subset of Intel x86, ARM, or MIPS native code, or a portable executable, in a sandbox. It allows safely running native code from a web browser, independent of the user operating system, allowing web apps to run at near-native speeds, which aligns with Google's plans for ChromeOS. It may also be used for securing browser plugins, and parts of other applications or full applications[2] such as ZeroVM.[3]

Google first demonstrated the technology on 9 December 2011 by releasing several new Chrome-only versions of games known for their rich and processor-intensive graphics, including Bastion (no longer supported on the Chrome Web Store). Later Google released Portable Native Client (PNaCl), an architecture-independent compiled ahead-of-time version of NaCl. The general concept of NaCl (running native code in web browser) has been implemented before in ActiveX, but NaCl runs content in a sandbox while ActiveX application has full access to the system (disk, memory, user-interface, registry, etc.).

Mozilla proposed asm.js as an alternative to both ActiveX and NaCl. asm.js also allows applications written in C or C++ to be compiled to run in the browser and also supports ahead-of-time compilation, but is a subset of JavaScript and hence backwards-compatible with browsers that do not support it directly.

On 12 October 2016, a comment on the Chromium issue tracker indicated that Google's Pepper and Native Client teams had been destaffed.[4] On 30 May 2017, Google announced deprecation of PNaCl in favor of WebAssembly.[5] Although initially Google planned to remove PNaCl in first quarter of 2018,[5] developers postponed the date multiple times until June 2022.[6][7]

Overview

[edit]

Native Client was an open-source project developed by Google.[8] Games such as Quake,[9] XaoS, Battle for Wesnoth,[10] Doom,[11] Lara Croft and the Guardian of Light,[12] From Dust,[13] and MAME, as well as the sound processing system Csound, have been ported to Native Client. Native Client has been available in the Google Chrome web browser since version 14, and has been enabled by default since version 31, when the Portable Native Client (PNaCl, pronounced: pinnacle) was released.[14][15][16] Native Client has also been used to safely run downloaded code in software other than web browsers, like in the D?mon game engine.[17]

An ARM implementation was released in March 2010.[18] x86-64, IA-32, and MIPS were also supported.

To run an application portably under PNaCl, it must be compiled to an architecture-agnostic and stable subset of the LLVM intermediate representation bytecode.[19] The executables are called PNaCl executables (pexes). The PNaCl Toolchain makes .pexe files; NaCl Toolchain .nexe files. The magic number of .nexe files is 0x7F 'E' 'L' 'F', which is ELF. In Chrome, they are translated to architecture-specific executables so that they can be run.

NaCl uses software fault detection and isolation for sandboxing on x86-64 and ARM.[20] The x86-32 implementation of Native Client is notable for its novel sandboxing method, which makes use of the x86 architecture's rarely used segmentation facility.[21] Native Client sets up x86 segments to restrict the memory range that the sandboxed code can access. It uses a code verifier to prevent use of unsafe instructions such as those that perform system calls. To prevent the code from jumping to an unsafe instruction hidden in the middle of a safe instruction, Native Client requires that all indirect jumps be jumps to the start of 32-byte-aligned blocks, and instructions are not allowed to straddle these blocks.[21] Because of these constraints, C and C++ code must be recompiled to run under Native Client, which provides customized versions of the GNU toolchain, specifically GNU Compiler Collection (GCC), GNU Binutils, and LLVM.

Native Client is licensed under a BSD-style license.

Native Client uses Newlib as its C library, but a port of GNU C Library (GNU libc) is also available.[22]

History

[edit]

On 9 December 2011, Google demonstrated the readiness of the technology by announcing availability of several new Chrome-only versions of games known for their rich and processor-intensive graphics, including Bastion (no longer supported on the Chrome Web Store). NaCl runs hardware-accelerated 3D graphics (via OpenGL ES 2.0), sandboxed local file storage, dynamic loading, full screen mode, and mouse capture. There were also plans to make NaCl available on handheld devices.[23][24]

Portable Native Client (PNaCl) is an architecture-independent version. PNaCl apps are compiled ahead-of-time. PNaCl is recommended over NaCl for most use cases.[25] The general concept of NaCl (running native code in web browser) has been implemented before in ActiveX, which, while still in use, has full access to the system (disk, memory, user-interface, registry, etc.). Native Client avoids this issue by using sandboxing.

An alternative by Mozilla was asm.js, which also allows applications written in C or C++ to be compiled to run in the browser and also supports ahead-of-time compilation, but is a subset of JavaScript and hence backwards-compatible with browsers that do not support it directly.

On 12 October 2016, a comment on the Chromium issue tracker indicated that Google's Pepper and Native Client teams had been destaffed.[4] On 30 May 2017, Google announced deprecation of PNaCl in favor of WebAssembly.[5] Although initially Google planned to remove PNaCl in first quarter of 2018,[5] and later in the second quarter of 2019,[26] it has been removed in June 2022 (together with Chrome Apps).[6][7]

Pepper

[edit]

NaCl denotes sodium chloride, common table salt; as a pun, the name of pepper was also used. Pepper API is a cross-platform, open-source API for creating Native Client modules.[27] Pepper Plugin API, or PPAPI[28][29] is a cross-platform API for Native Client-secured web browser plugins, first based on Netscape's NPAPI, then rewritten from scratch. It was used in Chromium and Google Chrome to enable the PPAPI version of Adobe Flash[30] and the built-in PDF viewer.[31]

PPAPI

[edit]

On 12 August 2009, a page on Google Code introduced a new project, Pepper, and the associated Pepper Plugin API (PPAPI),[32] "a set of modifications to NPAPI to make plugins more portable and more secure".[33] This extension is designed specifically to ease implementing out-of-process plugin execution. Further, the goals of the project are to provide a framework for making plugins fully cross-platform. Topics considered include:

  • Uniform semantics for NPAPI across browsers.
  • Execution in a separate process from the renderer-browser.
  • Standardize rendering using the browser's compositing process.
  • Defining standardized events, and 2D rasterizing functions.
  • Initial attempt to provide 3D graphics access.
  • Plugin registry.

The Pepper API also supports Gamepads (version 19) and WebSockets (version 18).[34]

As of 13 May 2010, Google's open source browser, Chromium, was the only web browser to use the new browser plug-in model.[35] As of 2020, Pepper is supported by Chrome, Chromium and Blink layout engine-based browsers such as Opera and Microsoft Edge.

In August 2020, Google announced that support for PPAPI would be removed from Google Chrome and Chromium in June 2022.[36]

PPAPI in Firefox

[edit]

Firefox developers stated in 2014 that they would not support Pepper, as there were no full specification of the API beyond its implementation in Chrome, which itself was designed for use with Blink layout engine only, and had private APIs specific to the Flash Player plugin which were not documented.[37] In October 2016 Mozilla announced that it had re-considered and was exploring whether to incorporate the Pepper API and PDFium in future releases of Firefox,[38] however no such steps were taken. In July 2017, Adobe deprecated Flash and announced its end-of-life in the end of 2020.[39] By January 2021, Adobe Flash Player, Google Chrome, Firefox, Safari, and Windows[40] received updates disabling or entirely removing Flash.

Applications

[edit]

One website[41] used NaCL on the server to let users experiment with the Go programming language from their browsers.[42]

Usage outside of web browsers

[edit]

The open-source Unvanquished game makes use of Native Client in the D?mon game engine[43] in replacement of the Q3VM (Quake III virtual machine).[44][45] In such game engine, the Native Client sandbox is used to safely run arbitrary game code (mods) downloaded from game servers. Using the Native Client technology makes possible for gameplay developers to use the C++ language for games running in the virtual machine, to use C++ libraries, to share code between the game and the engine and to get better performance than with the Q3VM.[17]

Reception

[edit]

Some groups of browser developers supported the Native Client technology while others did not.

Supporters

[edit]

Chad Austin (of IMVU) praised the way Native Client can bring high-performance applications to the web (with about 5% penalty compared to native code) in a secure way, while also accelerating the evolution of client-side applications by giving a choice of the programming language used (besides JavaScript).[46]

Id Software's John D. Carmack praised Native Client at QuakeCon 2012, saying: "if you have to do something inside a browser, Native Client is much more interesting as something that started out as a really pretty darn clever x86 hack in the way that they could sandbox all of this in user mode interestingly. It's now dynamic recompilation, but something that you program in C or C++ and it compiles down to something that's going to be not your -O4 optimization level for completely native code but pretty damn close to native code. You could do all of your evil pointer chasings, and whatever you want to do as a to-the-metal game developer."[47]

Detractors

[edit]

Other IT professionals were more critical of this sandboxing technology as it had substantial or substantive interoperability issues.

Mozilla's vice president of products, Jay Sullivan, said that Mozilla has no plans to run native code inside the browser, as "These native apps are just little black boxes in a webpage. [...] We really believe in HTML, and this is where we want to focus."[48]

Mozilla's Christopher Blizzard criticized NaCl, claiming that native code cannot evolve in the same way that the source code-driven web can. He also compared NaCl to Microsoft's ActiveX technology, plagued with DLL Hell.[2]

H?kon Wium Lie, Opera's CTO, believed that "NaCl seems to be 'yearning for the bad old days, before the web'", and that "Native Client is about building a new platform – or porting an old platform into the web [...] it will bring in complexity and security issues, and it will take away focus from the web platform."[2]

Second generation

[edit]

The second generation of sandboxing developed in Google is gVisor.[49][50] It is intended to replace NaCl in Google Cloud, to be more exact in Google App Engine. Google has also been promoting WebAssembly.[51]

See also

[edit]

References

[edit]
  1. ^ "Google's Native Client goes live in Chrome". The Register. 16 September 2011. Retrieved 12 March 2016.
  2. ^ a b c Metz, Cade (12 September 2011). "Google Native Client: The web of the future – or the past?". The Register. Retrieved 17 September 2011.
  3. ^ "ZeroVM Architecture". Archived from the original on 8 February 2014. Retrieved 16 March 2014.
  4. ^ a b "Bugs.chromium.org". 12 October 2016. Retrieved 12 October 2016.
  5. ^ a b c d "Goodbye PNaCl, Hello WebAssembly!". Chromium Blog. Retrieved 31 May 2017.
  6. ^ a b "Changes to the Chrome App Support Timeline". Chromium Blog. 10 August 2020.
  7. ^ a b Li, Abner (10 August 2020). "Google delays deprecation of Chrome Apps on all platforms". 9to5Google. Retrieved 2 October 2021.
  8. ^ "Google Native Client on Google Code". Retrieved 25 April 2012.
  9. ^ davemichael (3 October 2020). "GitHub - davemichael/NaCl-Quake: Quake for Native Client (based on the SDL Quake port)". GitHub.
  10. ^ "The Battle for Wesnoth".
  11. ^ "Index of /".
  12. ^ "Chrome Web Store - Lara Croft and the Guardian of Light". Archived from the original on 8 December 2013. Retrieved 26 November 2013.
  13. ^ "From Dust". Archived from the original on 12 March 2016. Retrieved 24 February 2016.
  14. ^ Chen, Brad (8 December 2008). "Native Client: A Technology for Running Native Code on the Web". Google-code-updates.blogspot.com. Retrieved 25 April 2012.
  15. ^ "The Chromium Blog: Native Client Brings Sandboxed Native Code to Chrome Web Store Apps". Blog.chromium.org. 18 August 2011. Retrieved 25 April 2012.
  16. ^ "Google Code Blog: Portable Native Client: The "pinnacle" of speed, security, and portability". blog.chromium.org. 12 November 2013. Retrieved 16 March 2014.
  17. ^ a b "Unvanquished Continues Work On Its PNaCl Support". Phoronix. 15 March 2014. Retrieved 3 December 2024. PNaCl sandboxes allow game-play developers to use modern C++ and C/C++ libraries directly within their virtual machines and will allow for better code sharing between the engine code and game logic. PNaCl is also reported to offer better performance than the original Quake III virtual machines.
  18. ^ "Google's Native Client goes ARM and beyond". The H. 18 March 2010. Retrieved 19 May 2010.
  19. ^ "PNaCl: Portable Native Client Executables" (PDF). Archived from the original (PDF) on 2 May 2012. Retrieved 25 April 2012.
  20. ^ Sehr, David; Muth, Robert; Biffle, Cliff L.; Khimenko, Victor; Pasko, Egor; Yee, Bennet; Schimpf, Karl; Chen, Brad (2010). "Adapting Software Fault Isolation to Contemporary CPU Architectures". 19th USENIX Security Symposium. Retrieved 31 July 2011.
  21. ^ a b Yee, Bennet; Sehr, David; Dardyk, Greg; Chen, Brad; Muth, Robert; Ormandy, Tavis; Okasaka, Shiki; Narula, Neha; Fullagar, Nicholas (2009). "Native Client: A Sandbox for Portable, Untrusted x86 Native Code". IEEE Symposium on Security and Privacy (Oakland'09). Retrieved 31 July 2011.
  22. ^ "Native Client: Building". developer.chrome.com. Retrieved 16 March 2014.
  23. ^ Rosenblatt, Seth (9 December 2011). "Native Client turns Chrome into high-end gaming platform". CNET. Archived from the original on 28 August 2012. Retrieved 9 December 2011.
  24. ^ "Google Code Blog: Games, apps and runtimes come to Native Client". Googlecode.blogspot.com. 9 December 2011. Retrieved 25 April 2012.
  25. ^ "NaCl and PNaCl".
  26. ^ "WebAssembly Migration Guide - Google Chrome". developer.chrome.com. Retrieved 20 December 2018.
  27. ^ "Technical Overview". Archived from the original on 28 February 2014.
  28. ^ "Pepper Plugin API project at". Archived from the original on 9 September 2016. Retrieved 25 April 2012.
  29. ^ "Chrome Source: Index of /trunk/src/ppapi". Src.chromium.org. Retrieved 25 April 2012.
  30. ^ "The road to safer, more stable, and flashier Flash". 8 August 2012. Retrieved 10 August 2013.
  31. ^ Metz, Cade (18 June 2010). "Google hugs Adobe harder with Chrome-PDF merge". The Register. Retrieved 25 April 2012.
  32. ^ "Getting Started: Background and Basics – The Chromium Projects". Chromium.org. Retrieved 25 April 2012.
  33. ^ "Pepper.wiki". 24 February 2012. Retrieved 25 April 2012.
  34. ^ "Release Notes".
  35. ^ Metz, Cade (13 May 2010). "Google heats up native code for Chrome OS". Theregister.co.uk. Retrieved 25 April 2012.
  36. ^ Anthony Laforge (10 August 2020). "Changes to the Chrome App Support Timeline". Chromium Blog.
  37. ^ Zbarsky, Boris. "Bug 729481 - Support the "Pepper" Plugin api". Retrieved 15 April 2016.
  38. ^ Metz, Cade (3 October 2016). "Project Mortar". Mozilla. Retrieved 30 October 2016.
  39. ^ "Flash & The Future of Interactive Content". Adobe Inc. 25 July 2017. Archived from the original on 2 December 2017. Retrieved 31 July 2023.
  40. ^ Salter, Jim (4 May 2021). "Goodbye again, Flash—Microsoft makes removal from Windows 10 mandatory". Ars Technica. Retrieved 1 August 2023.
  41. ^ "The Go Playground".
  42. ^ "Inside the Go Playground - The Go Blog". blog.golang.org. Retrieved 27 August 2016.
  43. ^ Larabel, Michael (9 July 2015). "Unvanquished Alpha 41 Released, Still Moving Towards NaCl VM Usage". Phoronix. Retrieved 3 December 2024. They've continued moving along with their open-source game and Daemon engine. […] their libRocket implementation has moved into the NaCl VM.
  44. ^ "Unvanquished Continues Work On Its PNaCl Support". Phoronix. 15 March 2014. Retrieved 3 December 2024. Open-source Unvanquished developers continue working on support for using Google's Portable Native Client (PNaCl) to replace Quake III QVMs.
  45. ^ "Unvanquished Alpha 34 Brings Fixes, Still Being Ported To PNaCl". Phoronix. 8 December 2014. Retrieved 3 December 2024. Under the hood, they remain hard at work on porting the game logic from QVMs to Portable Native Client (PNaCl).
  46. ^ Austin, Chad (8 January 2011). "Chad Austin: In Defense of Language Democracy (Or: Why the Browser Needs a Virtual Machine)". Chadaustin.me. Retrieved 25 April 2012.
  47. ^ Carmack, John (3 August 2012). "QuakeCon 2012". youtube.com. Retrieved 26 August 2012.
  48. ^ Metz, Cade (24 June 2010). "Mozilla: Our browser will not run native code". The Register. Retrieved 25 April 2012.
  49. ^ "Beta release of PHP 7.2 in the Google App Engine standard environment | Hacker News".
  50. ^ "Google/Gvisor". GitHub. 15 October 2021.
  51. ^ Avram, Abel (31 May 2017). "Google Is to Remove Support for PNaCl". InfoQ. Retrieved 1 August 2020. As a replacement, Google is now pushing WebAssembly.
[edit]

Examples

[edit]
普门品是什么意思 什么是鸡胸病症状图片 气阴两虚吃什么中成药 脑ct都能查出什么病 国色天香是什么生肖
复方乙酰水杨酸片是什么药 血红蛋白浓度偏低是什么原因 硝酸酯类药物有什么药 ft什么单位 狗狗为什么喜欢舔人
春天像什么的比喻句 24号来月经什么时候是排卵期 72年属鼠是什么命 一生一世是什么生肖 梦见买面条有什么预兆
251什么意思 西贝是什么 什么脸型适合什么发型 牛油是什么油 什么是尿素
声音小是什么原因hcv8jop6ns6r.cn 什么症状提示月经马上要来了hcv8jop7ns2r.cn 结石是什么原因引起的cl108k.com 1962属什么xinmaowt.com 导管是什么hcv9jop2ns0r.cn
什么是春天的什么hcv7jop5ns5r.cn 气加山念什么hcv9jop7ns1r.cn 胶原蛋白是什么hcv7jop7ns2r.cn 5月20日是什么日子hcv8jop4ns7r.cn 女生被摸胸是什么感觉hcv9jop3ns1r.cn
胸部胀痛什么原因hlguo.com 小麦和大麦有什么区别hcv9jop5ns5r.cn 土色是什么颜色的图片hcv8jop2ns1r.cn 不容乐观是什么意思hcv8jop0ns6r.cn 什么阳地名hcv9jop7ns5r.cn
人为什么怕死beikeqingting.com 女人腿肿应该检查什么hcv8jop3ns9r.cn 结核t细胞阳性说明什么hcv8jop3ns2r.cn 克罗恩病吃什么药hcv9jop6ns6r.cn 2004年是什么年sscsqa.com
百度