Files
ueforth/ueforth/site/linux.html
2021-06-06 22:04:43 -07:00

67 lines
1.6 KiB
HTML

<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>µEforth for Linux</title>
<link rel="stylesheet" href="static/eforth.css">
</head>
<body>
<h1>µEforth for Linux</h1>
{{MENU}}
<h2>Download</h2>
<p>
<a href="downloads/ueforth.linux">ueforth.linux</a>
- Linux 64-bit Executable µEforth<br/>
<i>Version: {{VERSION}} Rev: {{REVISION}}</i>
</p>
<p>
<a href="https://github.com/flagxor/eforth" target="_blank">http://github.com/flagxor/eforth</a>
- Complete Source Code (under ueforth)
</p>
<h2>µEforth</h2>
<h3>µEforth Specific Words</h3>
{{COMMON}}
{{POSIX_COMMON}}
<h3>Linux</h3>
<h4>Linux Opcodes</h4>
<p>
Linux libraries and the operating system can be accessed via the use
of the <code>DLSYM</code> word. Functions can be requested by name from
particular modules. As the dynamic linking module is already loaded initially,
a 0 for the module allows the library loading function (<code>dlopen</code>)
to be loaded from Forth.
</p>
<pre>
DLSYM ( module name-z -- fn )
</pre>
<p>
See <a href="https://github.com/flagxor/eforth/blob/main/ueforth/posix/posix_main.c">posix_main.c</a>.
</p>
<p>
Native functions all called with CALL(n) (see Windows &amp; Linux Calling below).
</p>
<h4>Linux Imports</h4>
<p>
Various Linux calls including Xlib are imported in
<a href="https://github.com/flagxor/eforth/blob/main/ueforth/posix/posix.fs">posix.fs</a> and
<a href="https://github.com/flagxor/eforth/blob/main/ueforth/posix/xlib.fs">xlib.fs</a>.
In addition, <code>TYPE</code> and <code>KEY</code> are connected to
<code>stdin</code> and <code>stdout</code>.
</p>
{{DESKTOP_COMMON}}