Crate contructor_derive
source ·Expand description
Registers a function to be called before/after main (if an executable) or when loaded/unloaded (if a dynamic library).
Notes
Use this library is unsafe unless you want to interop directly with a FFI library.
Please consider to use the lazy-static
crate instead of it.
Usage
Add the following dependency to your Cargo manifest…
[dependencies]
contructor_derive = "0.1.0"
Example
#[macro_use]
extern crate contructor_derive;
pub static mut RAN: bool = false;
#[constructor]
extern "C" fn set_ran() {
unsafe { RAN = true }
}
#[destructor]
extern "C" fn reset_ran() {
unsafe { RAN = false }
}
fn main() {
assert!(unsafe { RAN });
}
Attribute Macros
Registers a function to be called before main (if an executable) or when loaded (if a dynamic library).
Registers a function to be called after main (if an executable) or when unloaded (if a dynamic library).