Guidelines for wrapping a simple C library in Julia

May be you first start with learning how to call C code - you can call it directly from julia via ccall, and you can load your locally built library into Julia via dlopen, see Calling C and Fortran Code · The Julia Language . If your API is small, you can easily write Julia wrappers invoking ccall by hand. CBinding.jl tries to automate this process.

The BinaryBuilder allows to maintain precompiled libraries and wrap them into jll packages. You would use this to distribute the precompiled C code to users of your Julia library.

That said, did you consider to implement your algorithm directly in Julia ? It could be more flexible with respect to data types, and a nice learning exercise.

1 Like