aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/examples/dynamic_library_loading/use.v
blob: 71a0099f754187fcafa560c0044a32ad8cd4a0f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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')
}