Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>First, NaCl is a sandboxing technology that provides security when running native code in a browser. As such, you will not be able to access the user's filesystem directly (as you would be able to with an NPAPI plugin). You may need to modify your library to support NaCl as a new "operating system".</p> <p>That said, a lot of functionality is available through the <a href="https://developers.google.com/native-client/dev/overview#pepper-plugin-api" rel="nofollow">Pepper Plugin API (PPAPI)</a>, which allows your NaCl plugin to communicate with the browser. In addition, the <code>nacl_io</code> library that comes with the NaCl SDK provides a more familiar POSIX-like interface, to support File I/O and sockets.</p> <p>It shouldn't be too hard to try building your library using the pnacl toolchain as follows:</p> <ol> <li><p>Download the <a href="https://developers.google.com/native-client/dev/sdk/download" rel="nofollow">Native Client SDK</a>. When you're done, you should have a directory called <code>pepper_31</code> that contains the Native Client SDK.</p></li> <li><p>The Native Client build will likely be most similar to your Linux port. In your makefile, change any build rule that executes your native toolchain to use the pnacl toolchain instead, e.g.</p> <ul> <li><code>g++</code> => <code>pepper_31/toolchain/linux_pnacl/bin/pnacl-clang++</code></li> <li><code>ar</code> => <code>pepper_31/toolchain/linux_pnacl/bin/pnacl-ar</code></li> <li>etc.</li> </ul></li> <li><p>Try building your Linux build. You probably will have some compilation failures, maybe from missing libraries, maybe from header differences. Depending on what your library does, you may need to modify it to use the PPAPI, to access things like graphics, sockets, URL requests, File IO, etc.</p></li> </ol> <p>Once you do this, you'll likely have some more specific questions about how to implement features that you need. :)</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload