examples: document how to produce the shared library, needed for a standalone run of examples/dynamic_library_loading/use.v
							parent
							
								
									ee547994bb
								
							
						
					
					
						commit
						80879586df
					
				| 
						 | 
				
			
			@ -1,12 +1,15 @@
 | 
			
		|||
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.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)?
 | 
			
		||||
	eprintln('handle: ${ptr_str(handle)}')
 | 
			
		||||
	f := FNAdder(dl.sym_opt(handle, 'add_1')?)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue