zoukankan      html  css  js  c++  java
  • 【Rust】创建库文件

    环境

    • Rust 1.56.1
    • VSCode 1.61.2

    概念

    参考:https://doc.rust-lang.org/stable/rust-by-example/crates/lib.html

    示例

    create 是 rust 中的一个编译单元,和其它语言的库的概念类似。模块并不会单独编译,只有 crate 才会。默认情况下,create 生成二进制文件,但可以自己指定。

    rustc

    使用 rustc --crate-type=lib rary.rs 生成库文件,其中 rary.rs 是文件名。

    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();
    }
    

    cargo

    除了通过 rustc 直接编译,也可以通过 cargo 来创建。通过 cargo new rary --lib --vcs=none 命令创建新项目。

    PS C:\Users\jiangbo1446\work\workspace\rust\rust> cargo new rary --lib --vcs=none
         Created library `rary` package
    

    在 lib.rs 中填写:

    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();
    }
    

    使用命令 cargo build --release 生成。

    总结

    了解了 Rust 中生成一个库文件的方式,可以通过 rustc 编译直接生成,也可以通过 cargo 来创建。

    附录

  • 相关阅读:
    context:component-scan报错
    goland 实用键
    React-Native 指定模拟器RUN-IOS
    mac 卸载编辑器卸不干净
    go 区分指针
    go 学习Printf
    我的命令行
    mysql8的坑
    小三角
    eslint 禁用命令
  • 原文地址:https://www.cnblogs.com/jiangbo44/p/15648649.html
Copyright © 2011-2022 走看看