dlopen-rs
dlopen-rs supports loading dynamic libraries from memory and files, supports no_std environments, and does not rely on the dynamic linker ldso
Currently supports x86_64, x86, RV64 and AArch64.
Feature
| Feature | Default | Description |
|---|---|---|
| load_self | Yes | Enable load the dso of the program itself |
| std | Yes | Enable std |
| mmap | Yes | Enable this on platforms that support mmap |
| tls | Yes | Enable this when you need to use thread local storage |
| nightly | No | Enable this can make loading faster, but you'll need to use the nightly compiler |
| unwinding | No | Enable this when you want to use the exception handling mechanism provided by dlopen-rs |
| libgcc | Yes | Enable this when program uses libgcc to handle exceptions |
| libunwind | No | Enable this when program uses libunwind to handle exceptions |
Example
use ELFLibrary;
use Path;
NOTE
There is currently no support for using backtrace in loaded dynamic library code, and there is no support for debugging loaded dynamic libraries using gdb