1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
//! Unsafe, platform specific bindings to dynamic library loading facilities. //! //! These modules expose more extensive, powerful, less principled bindings to the dynamic //! library loading facilities. Use of these bindings come at the cost of less (in most cases, //! none at all) safety guarantees, which are provided by the top-level bindings. //! //! # Examples //! //! Using these modules will likely involve conditional compilation: //! //! ```ignore //! # extern crate libloading; //! #[cfg(unix)] //! use libloading::os::unix::*; //! #[cfg(windows)] //! use libloading::os::windows::*; //! ``` macro_rules! unix { ($item: item) => { /// UNIX implementation of dynamic library loading. /// /// This module should be expanded with more UNIX-specific functionality in the future. $item } } macro_rules! windows { ($item: item) => { /// Windows implementation of dynamic library loading. /// /// This module should be expanded with more Windows-specific functionality in the future. $item } } #[cfg(unix)] unix!(pub mod unix;); #[cfg(unix)] windows!(pub mod windows {}); #[cfg(windows)] windows!(pub mod windows;); #[cfg(windows)] unix!(pub mod unix {});