Modules
While you are already familiar with lovm2
's own representation of executable code, LV2Module
is far more abstract under the hood. lovm2
is able to load specifically compiled shared objects - or DLLs as you would call them in the Windows world - at runtime and execute real native functions as well.
And that's not all. As long as your structure complies with the LV2CallProtocol
trait you are free to even implement native functions inside your own compiler or runtime. This job can be done using the lovm2_extend package which allows you to write your own modules in Rust.