mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
20 lines
561 B
V
20 lines
561 B
V
module main
|
|
|
|
// Note: This program, requires that the shared library was already compiled.
|
|
// To do so, run `v -d no_backtrace -o library -shared modules/library/library.v`
|
|
// before running this program.
|
|
import os
|
|
import dl
|
|
|
|
type FNAdder = fn (int, int) int
|
|
|
|
fn main() {
|
|
library_file_path := os.join_path(os.dir(@FILE), dl.get_libname('library'))
|
|
handle := dl.open_opt(library_file_path, dl.rtld_lazy)!
|
|
eprintln('handle: ${ptr_str(handle)}')
|
|
f := FNAdder(dl.sym_opt(handle, 'add_1')!)
|
|
eprintln('f: ${ptr_str(f)}')
|
|
res := f(1, 2)
|
|
eprintln('res: $res')
|
|
}
|