version 1.7, 1997/12/14 01:15:19
|
version 1.9, 1998/07/05 20:50:00
|
Line 2004 define(argclist,
|
Line 2004 define(argclist,
|
\ icall(argnum) |
\ icall(argnum) |
define(icall, |
define(icall, |
`icall$1 argflist($1)u -- uret gforth |
`icall$1 argflist($1)u -- uret gforth |
uret = ((Cell(*)(argdlist($1)))u)(argclist($1)); |
uret = (SYSCALL(Cell(*)(argdlist($1)))u)(argclist($1)); |
|
|
') |
') |
define(fcall, |
define(fcall, |
`fcall$1 argflist($1)u -- rret gforth |
`fcall$1 argflist($1)u -- rret gforth |
rret = ((Float(*)(argdlist($1)))u)(argclist($1)); |
rret = (SYSCALL(Float(*)(argdlist($1)))u)(argclist($1)); |
|
|
') |
') |
|
|
|
|
open-lib c_addr1 u1 -- u2 gforth open_lib |
open-lib c_addr1 u1 -- u2 gforth open_lib |
#if defined(HAVE_LIBDL) || defined(HAVE_DLOPEN) |
#if defined(HAVE_LIBDL) || defined(HAVE_DLOPEN) |
|
#ifndef RTLD_GLOBAL |
|
#define RTLD_GLOBAL 0 |
|
#endif |
u2=(UCell) dlopen(cstr(c_addr1, u1, 1), RTLD_GLOBAL | RTLD_LAZY); |
u2=(UCell) dlopen(cstr(c_addr1, u1, 1), RTLD_GLOBAL | RTLD_LAZY); |
#else |
#else |
# ifdef HAVE_LIBKERNEL32 |
# ifdef HAVE_LIBKERNEL32 |