1This crate provides module-level functionality, which allow multiple 2functions and data to be emitted with 3[Cranelift](https://crates.io/crates/cranelift) and then linked together. 4 5This crate is structured as an optional layer on top of cranelift-codegen. 6It provides additional functionality, such as linking, however users that 7require greater flexibility don't need to use it. 8 9A module is a collection of functions and data objects that are linked 10together. The `Module` trait that defines a common interface for various kinds 11of modules. Most users will use one of the following `Module` implementations: 12 13 - `JITModule`, provided by [cranelift-jit], which JITs code to memory for direct execution. 14 - `ObjectModule`, provided by [cranelift-object], which emits native object files. 15 16[cranelift-jit]: https://crates.io/crates/cranelift-jit 17[cranelift-object]: https://crates.io/crates/cranelift-object 18