1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

examples: document how to produce the shared library, needed for a standalone run of examples/dynamic_library_loading/use.v

This commit is contained in:
Delyan Angelov 2022-06-01 13:58:49 +03:00
parent 786045c7da
commit c91b646372
No known key found for this signature in database
GPG Key ID: 66886C0F12D595ED

View File

@ -1,12 +1,15 @@
module main 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 os
import dl import dl
type FNAdder = fn (int, int) int type FNAdder = fn (int, int) int
fn main() { fn main() {
library_file_path := os.join_path(os.getwd(), dl.get_libname('library')) library_file_path := os.join_path(os.dir(@FILE), dl.get_libname('library'))
handle := dl.open_opt(library_file_path, dl.rtld_lazy)? handle := dl.open_opt(library_file_path, dl.rtld_lazy)?
eprintln('handle: ${ptr_str(handle)}') eprintln('handle: ${ptr_str(handle)}')
f := FNAdder(dl.sym_opt(handle, 'add_1')?) f := FNAdder(dl.sym_opt(handle, 'add_1')?)