I am trying to precompile my module using create_library method and try to call the functions exported in dll files from my julia app but create_library isn’t exporting ccallable functions that has been created in my module.
Could you please check and let me know if any corrections has to be made?
Below is the module that I have created.
MyModule.jl:
module MyModule
export run_module
using CxxWrap
# Your existing run function
# C-compatible entry point function
#global julia_run_module1 = @cfunction(run_module, Cvoid, (Cstring,))
function run(params)
println("Running Module 1 with parameters: $params")
end
Base.@ccallable function run_module(params::Cstring)::Cvoid
run(unsafe_string(params))
end
end # module
mylib.h:
void run_module(const char* params);
The command I have tried to run is the below:
PackageCompiler.create_library(“MyTest”, out_path; lib_name = “libmypackage”, incremental=false, filter_stdlibs=true, force=true, header_files = [“$lib_path”])
Below are the functions I am seeing under Export folder in my libmypackage.dll file:
libmypackage.dll (25)
Ordinal Hint Function EntryPoint EntryName
1 0 _DllMainCRTStartup 0x0052A320
2 1 get_sysimage_path 0x0052A360
3 2 init_julia 0x0052A450
4 3 jl_RTLD_DEFAULT_handle_pointer 0x049AE400
5 4 jl_clone_idxs_0 0x049AE3D8
6 5 jl_clone_offsets_0 0x049AE3DC
7 6 jl_clone_slots_0 0x049AE3D4
8 7 jl_fvar_base_0 0x000014B0
9 8 jl_fvar_idxs_0 0x04988DD0
10 9 jl_fvar_offsets_0 0x04997D20
11 10 jl_gvar_base_0 0x04A57B58
12 11 jl_gvar_idxs_0 0x04981670
13 12 jl_gvar_offsets_0 0x049A6C70
14 13 jl_image_pointers 0x0052CB30
15 14 jl_pgcstack_func_slot 0x04A5EB80
16 15 jl_pgcstack_key_slot 0x04A5EB88
17 16 jl_ptls_table 0x0052CB00
18 17 jl_shard_tables 0x0052CAB0
19 18 jl_small_typeof 0x04A5EBA0
20 19 jl_system_image_data 0x0052CB80
21 20 jl_system_image_size 0x049AE488
22 21 jl_tls_offset 0x04A5EB90
23 22 set_depot_load_path 0x0052A3D0
24 23 setup_args 0x0052A330
25 24 shutdown_julia 0x0052A4D0