mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
dl: move 'example' to 'examples/dynamic_library_loading' (#9187)
This commit is contained in:
19
examples/dynamic_library_loading/modules/library/library.v
Normal file
19
examples/dynamic_library_loading/modules/library/library.v
Normal file
@ -0,0 +1,19 @@
|
||||
module library
|
||||
|
||||
// add_1 is exported with the C name `add_1`.
|
||||
// It can be called by external programs, when the module is compiled
|
||||
// as a shared library.
|
||||
// It is exported, because the function is declared as public with `pub`.
|
||||
// The exported C name is `add_1`, because of the export: tag.
|
||||
// (Normally, the exported name is a V mangled version based on the module
|
||||
// name followed by __, followed by the fn name, i.e. it would have been
|
||||
// `library__add_1`, if not for the export: tag).
|
||||
[export: 'add_1']
|
||||
pub fn add_1(x int, y int) int {
|
||||
return my_private_function(x + y)
|
||||
}
|
||||
|
||||
// this function is not exported and will not be visible to external programs.
|
||||
fn my_private_function(x int) int {
|
||||
return 1 + x
|
||||
}
|
Reference in New Issue
Block a user