diff options
Diffstat (limited to 'v_windows/v/examples/dynamic_library_loading/use.v')
-rw-r--r-- | v_windows/v/examples/dynamic_library_loading/use.v | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/v_windows/v/examples/dynamic_library_loading/use.v b/v_windows/v/examples/dynamic_library_loading/use.v new file mode 100644 index 0000000..71a0099 --- /dev/null +++ b/v_windows/v/examples/dynamic_library_loading/use.v @@ -0,0 +1,17 @@ +module main + +import os +import dl + +type FNAdder = fn (int, int) int + +fn main() { + library_file_path := os.join_path(os.getwd(), dl.get_libname('library')) + handle := dl.open_opt(library_file_path, dl.rtld_lazy) ? + eprintln('handle: ${ptr_str(handle)}') + mut f := FNAdder(0) + f = dl.sym_opt(handle, 'add_1') ? + eprintln('f: ${ptr_str(f)}') + res := f(1, 2) + eprintln('res: $res') +} |