OLD | NEW |
1 {{+bindTo:partials.standard_nacl_article}} | 1 {{+bindTo:partials.standard_nacl_article}} |
2 | 2 |
3 <section id="nacl-and-pnacl"> | 3 <section id="nacl-and-pnacl"> |
4 <span id="id1"></span><h1 id="nacl-and-pnacl"><span id="id1"></span>NaCl and PNa
Cl</h1> | 4 <span id="id1"></span><h1 id="nacl-and-pnacl"><span id="id1"></span>NaCl and PNa
Cl</h1> |
5 <p>This document describes the differences between <strong>Native Client</strong
> and | 5 <p>This document describes the differences between <strong>Native Client</strong
> and |
6 <strong>Portable Native Client</strong>, and provides recommendations for when t
o use each.</p> | 6 <strong>Portable Native Client</strong>, and provides recommendations for when t
o use each.</p> |
7 <div class="contents local" id="contents" style="display: none"> | 7 <div class="contents local" id="contents" style="display: none"> |
8 <ul class="small-gap"> | 8 <ul class="small-gap"> |
9 <li><a class="reference internal" href="#native-client-nacl" id="id3">Native Cli
ent (NaCl)</a></li> | 9 <li><a class="reference internal" href="#native-client-nacl" id="id3">Native Cli
ent (NaCl)</a></li> |
10 <li><a class="reference internal" href="#portable-native-client-pnacl" id="id4">
Portable Native Client (PNaCl)</a></li> | 10 <li><a class="reference internal" href="#portable-native-client-pnacl" id="id4">
Portable Native Client (PNaCl)</a></li> |
11 <li><a class="reference internal" href="#when-to-use-pnacl" id="id5">When to use
PNaCl</a></li> | 11 <li><a class="reference internal" href="#when-to-use-pnacl" id="id5">When to use
PNaCl</a></li> |
12 <li><a class="reference internal" href="#when-to-use-nacl" id="id6">When to use
NaCl</a></li> | 12 <li><a class="reference internal" href="#when-to-use-nacl" id="id6">When to use
NaCl</a></li> |
13 </ul> | 13 </ul> |
14 | 14 |
15 </div><h2 id="native-client-nacl">Native Client (NaCl)</h2> | 15 </div><h2 id="native-client-nacl">Native Client (NaCl)</h2> |
16 <p>Native Client enables the execution of native code securely inside web | 16 <p>Native Client enables the execution of native code securely inside web |
17 applications through the use of advanced <a class="reference external" href="/na
tive-client/community/talks#research">Software Fault Isolation (SFI) | 17 applications through the use of advanced <a class="reference external" href="htt
p://research.google.com/pubs/pub35649.html">Software Fault Isolation (SFI) |
18 techniques</a>. Since its launch in | 18 techniques</a>. Since its launch in |
19 2011, Native Client has provided developers with the ability to harness a | 19 2011, Native Client has provided developers with the ability to harness a |
20 client machine’s computational power to a much fuller extent than traditio
nal | 20 client machine’s computational power to a much fuller extent than traditio
nal |
21 web technologies, by running compiled C and C++ code at near-native speeds and | 21 web technologies, by running compiled C and C++ code at near-native speeds and |
22 taking advantage of multiple cores with shared memory.</p> | 22 taking advantage of multiple cores with shared memory.</p> |
23 <p>While Native Client provides operating system independence, it requires | 23 <p>While Native Client provides operating system independence, it requires |
24 developers to generate architecture-specific executable | 24 developers to generate architecture-specific executable |
25 (<strong>nexe</strong>) modules for each hardware platform. This is not only inc
onvenient | 25 (<strong>nexe</strong>) modules for each hardware platform. This is not only inc
onvenient |
26 for developers, but architecture-specific machine code is not portable and thus | 26 for developers, but architecture-specific machine code is not portable and thus |
27 not well-suited for the open web. The traditional method of application | 27 not well-suited for the open web. The traditional method of application |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 C standard library (the Native Client SDK provides a PNaCl port of | 91 C standard library (the Native Client SDK provides a PNaCl port of |
92 <code>newlib</code>). Dynamic linking and <code>glibc</code> are not yet support
ed. | 92 <code>newlib</code>). Dynamic linking and <code>glibc</code> are not yet support
ed. |
93 Work is under way to enable dynamic linking in future versions of PNaCl.</li> | 93 Work is under way to enable dynamic linking in future versions of PNaCl.</li> |
94 <li>PNaCl does not support some GNU extensions | 94 <li>PNaCl does not support some GNU extensions |
95 like taking the address of a label for computed <code>goto</code>, or nested | 95 like taking the address of a label for computed <code>goto</code>, or nested |
96 functions.</li> | 96 functions.</li> |
97 </ul> | 97 </ul> |
98 </section> | 98 </section> |
99 | 99 |
100 {{/partials.standard_nacl_article}} | 100 {{/partials.standard_nacl_article}} |
OLD | NEW |