version 1.227, 2008/05/05 13:37:20
|
version 1.229, 2008/07/10 19:59:41
|
Line 2394 r = fp[u];
|
Line 2394 r = fp[u];
|
|
|
open-lib ( c_addr1 u1 -- u2 ) gforth open_lib |
open-lib ( c_addr1 u1 -- u2 ) gforth open_lib |
#if 1 |
#if 1 |
u2 = (UCell)lt_dlopen(cstr(c_addr1, u1, 1)); |
u2 = (UCell)lt_dlopen(tilde_cstr(c_addr1, u1, 1)); |
#elif defined(HAVE_LIBDL) || defined(HAVE_DLOPEN) |
#elif defined(HAVE_LIBDL) || defined(HAVE_DLOPEN) |
#ifndef RTLD_GLOBAL |
#ifndef RTLD_GLOBAL |
#define RTLD_GLOBAL 0 |
#define RTLD_GLOBAL 0 |
#endif |
#endif |
u2=(UCell) dlopen(cstr(c_addr1, u1, 1), RTLD_GLOBAL | RTLD_LAZY); |
u2=(UCell) dlopen(tilde_cstr(c_addr1, u1, 1), RTLD_GLOBAL | RTLD_LAZY); |
#else |
#else |
# ifdef _WIN32 |
# ifdef _WIN32 |
u2 = (Cell) GetModuleHandle(cstr(c_addr1, u1, 1)); |
u2 = (Cell) GetModuleHandle(tilde_cstr(c_addr1, u1, 1)); |
# else |
# else |
#warning Define open-lib! |
#warning Define open-lib! |
u2 = 0; |
u2 = 0; |
Line 2453 l! ( w c_addr -- ) gforth l_store
|
Line 2453 l! ( w c_addr -- ) gforth l_store
|
*(Tetrabyte*)(c_addr) = w; |
*(Tetrabyte*)(c_addr) = w; |
|
|
lib-error ( -- c_addr u ) gforth lib_error |
lib-error ( -- c_addr u ) gforth lib_error |
|
""Error message for last failed @code{open-lib} or @code{lib-sym}."" |
c_addr = lt_dlerror(); |
c_addr = lt_dlerror(); |
u = (c_addr == NULL) ? 0 : strlen(c_addr); |
u = (c_addr == NULL) ? 0 : strlen(c_addr); |
|
|