2020-12-15 19:22:07 +03:00
|
|
|
module main
|
|
|
|
|
|
|
|
import os
|
|
|
|
import dl
|
|
|
|
|
|
|
|
type FNAdder = fn (int, int) int
|
|
|
|
|
|
|
|
fn main() {
|
2021-02-23 10:46:28 +03:00
|
|
|
library_file_path := os.join_path(os.getwd(), dl.get_libname('library'))
|
2021-03-24 12:47:04 +03:00
|
|
|
handle := dl.open_opt(library_file_path, dl.rtld_lazy) ?
|
2020-12-15 19:22:07 +03:00
|
|
|
eprintln('handle: ${ptr_str(handle)}')
|
2021-03-19 12:14:52 +03:00
|
|
|
mut f := FNAdder(0)
|
2021-03-24 12:47:04 +03:00
|
|
|
f = dl.sym_opt(handle, 'add_1') ?
|
2020-12-15 19:22:07 +03:00
|
|
|
eprintln('f: ${ptr_str(f)}')
|
|
|
|
res := f(1, 2)
|
|
|
|
eprintln('res: $res')
|
|
|
|
}
|