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 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
226 | 226 |
227 Do I have to use C or C++? I'd really like to use another language. | 227 Do I have to use C or C++? I'd really like to use another language. |
228 ------------------------------------------------------------------- | 228 ------------------------------------------------------------------- |
229 | 229 |
230 Right now only C and C++ are supported directly by the toolchain in the SDK. C# | 230 Right now only C and C++ are supported directly by the toolchain in the SDK. C# |
231 and other languages in the .NET family are supported via the `Mono port`_ for | 231 and other languages in the .NET family are supported via the `Mono port`_ for |
232 Native Client. Moreover, there are several ongoing projects to support | 232 Native Client. Moreover, there are several ongoing projects to support |
233 additional language runtimes (e.g. `naclports supports Lua, Python and Ruby`_) | 233 additional language runtimes (e.g. `naclports supports Lua, Python and Ruby`_) |
234 as well as to compile more languages to LLVM's intermediate representation | 234 as well as to compile more languages to LLVM's intermediate representation |
235 (e.g. support Halide_, Haskell with GHC_ or support Fortran with flang_), or | 235 (e.g. support Halide_, Haskell with GHC_ or support Fortran with flang_), or |
236 transpile languages to C/C++ (source-to-source compilation). | 236 transpile languages to C/C++ (source-to-source compilation). Even JavaScript is |
237 supported by compiling V8_ to target PNaCl. | |
238 | |
239 The PNaCl toolchain is built on LLVM and can therefore generate code from | |
240 languages such as Rust_, Go_, or Objective-C, but there may still be a few rough | |
binji
2015/01/20 18:34:51
This is kind of already mentioned above (Halide, H
JF
2015/01/20 19:23:12
Good point, I'll update.
| |
241 edges. | |
237 | 242 |
238 If you're interested in getting other languages working, please contact the | 243 If you're interested in getting other languages working, please contact the |
239 Native Client team by way of the native-client-discuss_ mailing list. | 244 Native Client team by way of the native-client-discuss_ mailing list. |
240 | 245 |
241 Do you only support Chrome? What about other browsers? | 246 Do you only support Chrome? What about other browsers? |
242 ------------------------------------------------------ | 247 ------------------------------------------------------ |
243 | 248 |
244 We aim to support multiple browsers. However, a number of features that | 249 We aim to support multiple browsers. However, a number of features that |
245 we consider requirements for a production-quality system that keeps the | 250 we consider requirements for a production-quality system that keeps the |
246 user safe are difficult to implement without help from the | 251 user safe are difficult to implement without help from the |
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
563 .. _Adapting Software Fault Isolation to Contemporary CPU Architectures: https:/ /nativeclient.googlecode.com/svn/data/site/NaCl_SFI.pdf | 568 .. _Adapting Software Fault Isolation to Contemporary CPU Architectures: https:/ /nativeclient.googlecode.com/svn/data/site/NaCl_SFI.pdf |
564 .. _`Native Client: A Sandbox for Portable, Untrusted x86 Code`: http://research .google.com/pubs/pub34913.html | 569 .. _`Native Client: A Sandbox for Portable, Untrusted x86 Code`: http://research .google.com/pubs/pub34913.html |
565 .. _Crouton: https://github.com/dnschneid/crouton | 570 .. _Crouton: https://github.com/dnschneid/crouton |
566 .. _experimental development environment which runs within NaCl: https://www.you tube.com/watch?v=OzNuzBDEWzk&list=PLOU2XLYxmsIIwGK7v7jg3gQvIAWJzdat_ | 571 .. _experimental development environment which runs within NaCl: https://www.you tube.com/watch?v=OzNuzBDEWzk&list=PLOU2XLYxmsIIwGK7v7jg3gQvIAWJzdat_ |
567 .. _introduction to GCC: https://www.google.com/search?q=gcc+introduction | 572 .. _introduction to GCC: https://www.google.com/search?q=gcc+introduction |
568 .. _Mono port: https://github.com/elijahtaylor/mono | 573 .. _Mono port: https://github.com/elijahtaylor/mono |
569 .. _naclports supports Lua, Python and Ruby: https://code.google.com/p/naclports /source/browse#svn%2Ftrunk%2Fsrc%2Fexamples%2Ftools | 574 .. _naclports supports Lua, Python and Ruby: https://code.google.com/p/naclports /source/browse#svn%2Ftrunk%2Fsrc%2Fexamples%2Ftools |
570 .. _Halide: http://halide-lang.org/ | 575 .. _Halide: http://halide-lang.org/ |
571 .. _GHC: http://www.haskell.org/ghc/docs/latest/html/users_guide/code-generators .html | 576 .. _GHC: http://www.haskell.org/ghc/docs/latest/html/users_guide/code-generators .html |
572 .. _flang: https://flang-gsoc.blogspot.ie/2013/09/end-of-gsoc-report.html | 577 .. _flang: https://flang-gsoc.blogspot.ie/2013/09/end-of-gsoc-report.html |
578 .. _V8: https://code.google.com/p/v8/ | |
579 .. _Rust: http://www.rust-lang.org/ | |
580 .. _Go: https://golang.org | |
573 .. _native-client-discuss: https://groups.google.com/group/native-client-discuss | 581 .. _native-client-discuss: https://groups.google.com/group/native-client-discuss |
574 .. _deprecated in Chrome: http://blog.chromium.org/2013/09/saying-goodbye-to-our -old-friend-npapi.html | 582 .. _deprecated in Chrome: http://blog.chromium.org/2013/09/saying-goodbye-to-our -old-friend-npapi.html |
575 .. _OpenGL ES 2.0: https://www.khronos.org/opengles/ | 583 .. _OpenGL ES 2.0: https://www.khronos.org/opengles/ |
576 .. _GLES2 file: https://code.google.com/p/chromium/codesearch#chromium/src/ppapi /lib/gl/gles2/gles2.c | 584 .. _GLES2 file: https://code.google.com/p/chromium/codesearch#chromium/src/ppapi /lib/gl/gles2/gles2.c |
577 .. _Google Chrome privacy policy: https://www.google.com/chrome/intl/en/privacy. html | 585 .. _Google Chrome privacy policy: https://www.google.com/chrome/intl/en/privacy. html |
578 .. _Google Chrome Terms of Service: https://www.google.com/chrome/intl/en/eula_t ext.html | 586 .. _Google Chrome Terms of Service: https://www.google.com/chrome/intl/en/eula_t ext.html |
579 .. _naclports: https://code.google.com/p/naclports | 587 .. _naclports: https://code.google.com/p/naclports |
580 .. _CORS: http://en.wikipedia.org/wiki/Cross-origin_resource_sharing | 588 .. _CORS: http://en.wikipedia.org/wiki/Cross-origin_resource_sharing |
OLD | NEW |