OLD | NEW |
1 ########################## | 1 ########################## |
2 Frequently Asked Questions | 2 Frequently Asked Questions |
3 ########################## | 3 ########################## |
4 | 4 |
5 .. contents:: | 5 .. contents:: |
6 :local: | 6 :local: |
7 :backlinks: none | 7 :backlinks: none |
8 :depth: 2 | 8 :depth: 2 |
9 | 9 |
10 This document answers some frequently asked questions about Native | 10 This document answers some frequently asked questions about Native |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 it's platform-independent, and we'd like it to stay that way. | 228 it's platform-independent, and we'd like it to stay that way. |
229 | 229 |
230 .. _other_languages: | 230 .. _other_languages: |
231 | 231 |
232 Do I have to use C or C++? I'd really like to use another language. | 232 Do I have to use C or C++? I'd really like to use another language. |
233 ------------------------------------------------------------------- | 233 ------------------------------------------------------------------- |
234 | 234 |
235 Right now only C and C++ are supported directly by the toolchain in the SDK. C# | 235 Right now only C and C++ are supported directly by the toolchain in the SDK. C# |
236 and other languages in the .NET family are supported via the `Mono port`_ for | 236 and other languages in the .NET family are supported via the `Mono port`_ for |
237 Native Client. Moreover, there are several ongoing projects to support | 237 Native Client. Moreover, there are several ongoing projects to support |
238 additional language runtimes (e.g. `naclports supports Lua, Python and Ruby`_) | 238 additional language runtimes (e.g. `webports includes Lua, Python and Ruby`_) |
239 as well as to compile more languages to LLVM's intermediate representation | 239 as well as to compile more languages to LLVM's intermediate representation |
240 (e.g. support Halide_, Haskell with GHC_ or support Fortran with flang_), or | 240 (e.g. support Halide_, Haskell with GHC_ or support Fortran with flang_), or |
241 transpile languages to C/C++ (source-to-source compilation). Even JavaScript is | 241 transpile languages to C/C++ (source-to-source compilation). Even JavaScript is |
242 supported by compiling V8_ to target PNaCl. | 242 supported by compiling V8_ to target PNaCl. |
243 | 243 |
244 The PNaCl toolchain is built on LLVM and can therefore generate code from | 244 The PNaCl toolchain is built on LLVM and can therefore generate code from |
245 languages such as Rust_, Go_, or Objective-C, but there may still be a few rough | 245 languages such as Rust_, Go_, or Objective-C, but there may still be a few rough |
246 edges. | 246 edges. |
247 | 247 |
248 If you're interested in getting other languages working, please contact the | 248 If you're interested in getting other languages working, please contact the |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
447 application would not be portable across operating systems. Instead, | 447 application would not be portable across operating systems. Instead, |
448 Native Client provides portable cross-OS abstractions wrapping or | 448 Native Client provides portable cross-OS abstractions wrapping or |
449 proxying OS functionality or emulating UNIX system calls. For example, | 449 proxying OS functionality or emulating UNIX system calls. For example, |
450 Native Client provides an ``mmap()`` system call that behaves much like | 450 Native Client provides an ``mmap()`` system call that behaves much like |
451 the standard UNIX ``mmap()`` system call. | 451 the standard UNIX ``mmap()`` system call. |
452 | 452 |
453 Is my favorite third-party library available for Native Client? | 453 Is my favorite third-party library available for Native Client? |
454 --------------------------------------------------------------- | 454 --------------------------------------------------------------- |
455 | 455 |
456 Google has ported several third-party libraries to Native Client; such libraries | 456 Google has ported several third-party libraries to Native Client; such libraries |
457 are available in the naclports_ project. We encourage you to contribute | 457 are available in the webports_ project. We encourage you to contribute |
458 libraries to naclports, and/or to host your own ported libraries, and to let the | 458 libraries to webports, and/or to host your own ported libraries, and to let the |
459 team know about it on native-client-discuss_ when you do. You can also read | 459 team know about it on native-client-discuss_ when you do. You can also read |
460 through :doc:`contributor ideas <reference/ideas>` to find ideas of new projects | 460 through :doc:`contributor ideas <reference/ideas>` to find ideas of new projects |
461 to port. | 461 to port. |
462 | 462 |
463 Do all the files in an application need to be served from the same domain? | 463 Do all the files in an application need to be served from the same domain? |
464 -------------------------------------------------------------------------- | 464 -------------------------------------------------------------------------- |
465 | 465 |
466 The ``.nmf``, and ``.nexe`` or ``.pexe`` files must either be served from the | 466 The ``.nmf``, and ``.nexe`` or ``.pexe`` files must either be served from the |
467 same origin as the embedding page or an origin that has been configured | 467 same origin as the embedding page or an origin that has been configured |
468 correctly using CORS_. | 468 correctly using CORS_. |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
580 * If things still aren't working, :doc:`ask for help <help>`! | 580 * If things still aren't working, :doc:`ask for help <help>`! |
581 | 581 |
582 | 582 |
583 .. _`PNaCl SIMD: Speed on the Web`: https://www.youtube.com/watch?v=675znN6tntw&
list=PLOU2XLYxmsIIwGK7v7jg3gQvIAWJzdat_ | 583 .. _`PNaCl SIMD: Speed on the Web`: https://www.youtube.com/watch?v=675znN6tntw&
list=PLOU2XLYxmsIIwGK7v7jg3gQvIAWJzdat_ |
584 .. _Adapting Software Fault Isolation to Contemporary CPU Architectures: https:/
/nativeclient.googlecode.com/svn/data/site/NaCl_SFI.pdf | 584 .. _Adapting Software Fault Isolation to Contemporary CPU Architectures: https:/
/nativeclient.googlecode.com/svn/data/site/NaCl_SFI.pdf |
585 .. _`Native Client: A Sandbox for Portable, Untrusted x86 Code`: http://research
.google.com/pubs/pub34913.html | 585 .. _`Native Client: A Sandbox for Portable, Untrusted x86 Code`: http://research
.google.com/pubs/pub34913.html |
586 .. _Crouton: https://github.com/dnschneid/crouton | 586 .. _Crouton: https://github.com/dnschneid/crouton |
587 .. _experimental development environment which runs within NaCl: https://www.you
tube.com/watch?v=OzNuzBDEWzk&list=PLOU2XLYxmsIIwGK7v7jg3gQvIAWJzdat_ | 587 .. _experimental development environment which runs within NaCl: https://www.you
tube.com/watch?v=OzNuzBDEWzk&list=PLOU2XLYxmsIIwGK7v7jg3gQvIAWJzdat_ |
588 .. _introduction to GCC: https://www.google.com/search?q=gcc+introduction | 588 .. _introduction to GCC: https://www.google.com/search?q=gcc+introduction |
589 .. _Mono port: https://github.com/elijahtaylor/mono | 589 .. _Mono port: https://github.com/elijahtaylor/mono |
590 .. _naclports supports Lua, Python and Ruby: https://code.google.com/p/naclports
/source/browse#svn%2Ftrunk%2Fsrc%2Fexamples%2Ftools | 590 .. _webports includes Lua, Python and Ruby: https://chromium.googlesource.com/we
bports |
591 .. _Halide: http://halide-lang.org/ | 591 .. _Halide: http://halide-lang.org/ |
592 .. _GHC: http://www.haskell.org/ghc/docs/latest/html/users_guide/code-generators
.html | 592 .. _GHC: http://www.haskell.org/ghc/docs/latest/html/users_guide/code-generators
.html |
593 .. _flang: https://flang-gsoc.blogspot.ie/2013/09/end-of-gsoc-report.html | 593 .. _flang: https://flang-gsoc.blogspot.ie/2013/09/end-of-gsoc-report.html |
594 .. _V8: https://code.google.com/p/v8/ | 594 .. _V8: https://code.google.com/p/v8/ |
595 .. _Rust: http://www.rust-lang.org/ | 595 .. _Rust: http://www.rust-lang.org/ |
596 .. _Go: https://golang.org | 596 .. _Go: https://golang.org |
597 .. _native-client-discuss: https://groups.google.com/group/native-client-discuss | 597 .. _native-client-discuss: https://groups.google.com/group/native-client-discuss |
598 .. _deprecated in Chrome: http://blog.chromium.org/2013/09/saying-goodbye-to-our
-old-friend-npapi.html | 598 .. _deprecated in Chrome: http://blog.chromium.org/2013/09/saying-goodbye-to-our
-old-friend-npapi.html |
599 .. _OpenGL ES 2.0: https://www.khronos.org/opengles/ | 599 .. _OpenGL ES 2.0: https://www.khronos.org/opengles/ |
600 .. _GLES2 file: https://code.google.com/p/chromium/codesearch#chromium/src/ppapi
/lib/gl/gles2/gles2.c | 600 .. _GLES2 file: https://code.google.com/p/chromium/codesearch#chromium/src/ppapi
/lib/gl/gles2/gles2.c |
601 .. _Google Chrome privacy policy: https://www.google.com/chrome/intl/en/privacy.
html | 601 .. _Google Chrome privacy policy: https://www.google.com/chrome/intl/en/privacy.
html |
602 .. _Google Chrome Terms of Service: https://www.google.com/chrome/intl/en/eula_t
ext.html | 602 .. _Google Chrome Terms of Service: https://www.google.com/chrome/intl/en/eula_t
ext.html |
603 .. _naclports: https://code.google.com/p/naclports | 603 .. _webports: https://chromium.googlesource.com/webports |
604 .. _CORS: http://en.wikipedia.org/wiki/Cross-origin_resource_sharing | 604 .. _CORS: http://en.wikipedia.org/wiki/Cross-origin_resource_sharing |
OLD | NEW |