22 lines
493 B
Prolog
22 lines
493 B
Prolog
:- use_module(library(os)).
|
|
:- use_module(library(ffi)).
|
|
|
|
init :-
|
|
read(Body),
|
|
term_variables(Body, [LIB]),
|
|
Body,
|
|
use_foreign_module(LIB, [
|
|
'ffi_cstr_len'([cstr], u64),
|
|
'ffi_example_cstr'([], cstr),
|
|
'ffi_null_cstr'([], cstr)
|
|
]).
|
|
|
|
test :-
|
|
ffi:'ffi_cstr_len'("Scryer Prolog", Len),
|
|
ffi:'ffi_example_cstr'(Str),
|
|
ffi:'ffi_null_cstr'(Null),
|
|
ffi:'ffi_cstr_len'(0, MaxU64),
|
|
write((Len-Str-Null-MaxU64)).
|
|
|
|
:- initialization((init,test)).
|