zoukankan      html  css  js  c++  java
  • 1.2 rust cargo

    cargo是rust的编译与打包工具,可将rust打包成为一个可执行性文件。生成的可执行性文件不能跨系统的大版本,比如在linux7上打包,那么程序无法在linux6上执行。

    # cargo new hello_cargo
    Created binary (application) `hello_cargo` package
    # cd hello_cargo
    # ls
    Cargo.toml src
    # ll -a
    total 24
    drwxr-xr-x 4 root root 4096 Jan 15 18:16 .
    drwxr-xr-x 3 root root 4096 Jan 15 18:16 ..
    -rw-r--r-- 1 root root  121 Jan 15 18:16 Cargo.toml
    drwxr-xr-x 6 root root 4096 Jan 15 18:16 .git
    -rw-r--r-- 1 root root   19 Jan 15 18:16 .gitignore
    drwxr-xr-x 2 root root 4096 Jan 15 18:16 src
    # cat Cargo.toml 
    [package]
    name = "hello_cargo"
    version = "0.1.0"
    authors = ["tanpf <itoracle@163.com>"]
    edition = "2018"
    
    [dependencies]
    # cd src
    # ls
    main.rs
    # cat main.rs 
    fn main() {
        println!("Hello, world!");
    }
    [root@itoracle src]# cargo build
       Compiling hello_cargo v0.1.0 (/usr/local/automng/src/rust/test/hello_cargo)                                                                                              
        Finished dev [unoptimized + debuginfo] target(s) in 3.05s                                                                                                               
    [root@itoracle src]# ll
    total 4
    -rw-r--r-- 1 root root 45 Jan 15 18:16 main.rs
    [root@itoracle hello_cargo]# ./target/debug/hello_cargo 
    Hello, world!
    [root@itoracle hello_cargo]# cargo run
        Finished dev [unoptimized + debuginfo] target(s) in 0.01s                                                                                                               
         Running `target/debug/hello_cargo`
    Hello, world!
    [root@itoracle hello_cargo]# 
    [root@itoracle hello_cargo]# 
    [root@itoracle hello_cargo]# vim src/main.rs 
    
    fn main() {
        println!("Hello, world!");
        println!("过年回家的火车票,为啥每次都抢不到呢");
    }

    如果修改了代码,cargo run会先编译再运行

    [root@itoracle hello_cargo]# cargo run
       Compiling hello_cargo v0.1.0 (/usr/local/automng/src/rust/test/hello_cargo)                                                                                              
        Finished dev [unoptimized + debuginfo] target(s) in 0.46s                                                                                                               
         Running `target/debug/hello_cargo`
    Hello, world!
    过年回家的火车票,为啥每次都抢不到呢

    cargo check进行代码的编译,但不生成可执行文件,速度比cargo build快很多,当代码比较多时,可以先check

    [root@itoracle hello_cargo]# cargo check
        Checking hello_cargo v0.1.0 (/usr/local/automng/src/rust/test/hello_cargo)                                                                                              
        Finished dev [unoptimized + debuginfo] target(s) in 0.13s 
  • 相关阅读:
    CentOS7.6配置ip
    查看当前用户下没有主键也没有唯一性索引的表
    C++ 开机自动启动
    C++ 判断是文件还是文件夹
    Duilib热键
    c++将字符转换成字符串
    duilib中各控件响应的消息类型
    Duilib程序添加托盘图标显示
    C++打开文件夹
    C++获取驱动盘句柄
  • 原文地址:https://www.cnblogs.com/perfei/p/10273593.html
Copyright © 2011-2022 走看看