blob: b85e43553239f83934e2cfcfb379edef0408d1a7 [file] [log] [blame] [view]
# Creating a Library
Let's create a library, and then see how to link it to another crate.
In `rary.rs`:
```rust,ignore
pub fn public_function() {
println!("called rary's `public_function()`");
}
fn private_function() {
println!("called rary's `private_function()`");
}
pub fn indirect_access() {
print!("called rary's `indirect_access()`, that\n> ");
private_function();
}
```
```shell
$ rustc --crate-type=lib rary.rs
$ ls lib*
library.rlib
```
Libraries get prefixed with "lib", and by default they get named after their
crate file, but this default name can be overridden by passing
the `--crate-name` option to `rustc` or by using the [`crate_name`
attribute][crate-name].
[crate-name]: ../attribute/crate.md