日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Rust中的Cargo構建、運行、調試_相關技巧

作者:共飲一杯無 ? 更新時間: 2022-11-17 編程語言

基本概念

Cargo是rustup安裝后自帶的,Cargo 是 Rust 的構建系統和包管理器。
Rust 開發者常用 Cargo 來管理 Rust 工程和獲取工程所依賴的庫。入門教程中使用 cargo new helloworld 命令創建了一個名為 helloworld 的工程,Cargo 新建了一個名為 helloworld 的文件夾并在里面部署了一個 Rust 工程最典型的文件結構。這個 helloworld 文件夾就是工程本身。

Cargo相關命令

Cargo 除了創建工程以外還具備構建(build)工程、運行(run)工程等一系列功能,具體如下:

#創建—個普通的項目:
cargo new project_name --bin 
#創建一個庫cargo build
cargo new lib_name --lib--vcs none
#構建編譯,默認會編譯到target/debug/project_name下
cargo build
#運行
cargo run
#構建編譯發布版本,這會做很多優化,并編譯到target/release/project_name下
cargo build --release
#如果你想修改cargo .lock文件的話,運行它
cargo update
#如果你只是想更新rand版本的話,運行它
cargo update-p rand
#運行test測試
cargo test abc
#檢查代碼,確保能通過編譯,但不產生執行文件其速度比cargo build快得多編寫代碼時可以反復的使用cargo check檢查代碼,提高效率。
cargo check

創建工程目錄說明

cargo new helloworld可以創建一個helloword的工程目錄,目錄結構如下:

image.png

src下面是代碼目錄。
target是編譯后的文件目錄。
.gitignore主要功能是屏蔽某些文件,使得這些文件不被追蹤(tracked),自然push后也不會上傳到github等平臺。
Cargo.lock編譯過程中自動生成的 Cargo.lock 文件,記錄了相關資源信息,保證我們以后可以重新構建。
Cargo.toml為該工程的配置文件,這個關系類似于: package.json 是 npm 的配置文件。

VSCode 中配置 Rust工程

打開 helloworld工程目錄 之后,在里面新建一個新的文件夾 .vscode (注意 vscode 前面的點,如果有這個文件夾就不需要新建了)。在新建的 .vscode 文件夾里新建兩個文件 tasks.jsonlaunch.json,文件內容如下:
tasks.json:

{ 
    ????"version":?"2.0.0", 
    ????"tasks":?[ 
    ????????{ 
    ????????????"label":?"build", 
    ????????????"type":?"shell", 
    ????????????"command":"cargo", 
    ????????????"args":?["build"] 
    ????????} 
    ????] 
    }

launch.json:

{ 
    ????"version":?"0.2.0", 
    ????"configurations":?[ 
    ????????{ 
    ????????????"name":?"(Windows)?啟動", 
    ????????????"preLaunchTask":?"build", 
    ????????????"type":?"cppvsdbg", 
    ????????????"request":?"launch", 
    ????????????"program":?"${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe", 
    ????????????"args":?[], 
    ????????????"stopAtEntry":?false, 
    ????????????"cwd":?"${workspaceFolder}", 
    ????????????"environment":?[], 
    ????????????"externalConsole":?false 
    ????????}, 
            { 
    ????????????"name":?"(gdb)?啟動", 
    ????????????"type":?"cppdbg", 
    ????????????"request":?"launch", 
    ????????????"program":?"${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe", 
    ????????????"args":?[], 
    ????????????"stopAtEntry":?false, 
    ????????????"cwd":?"${workspaceFolder}", 
    ????????????"environment":?[], 
    ????????????"externalConsole":?false, 
    ????????????"MIMode":?"gdb", 
    ????????????"miDebuggerPath":?"這里填GDB所在的目錄", 
    ????????????"setupCommands":?[ 
    ????????????????{ 
    ????????????????????"description":?"為?gdb?啟用整齊打印", 
    ????????????????????"text":?"-enable-pretty-printing", 
    ????????????????????"ignoreFailures":?true 
    ????????????????} 
    ????????????] 
    ????????} 
    ????] 
    }

調試程序的方法與其它環境相似,只需要在行號的左側點擊紅點就可以設置斷點,在運行中遇到斷點會暫停,以供開發者監視實時變量的值。

原文鏈接:https://blog.csdn.net/qq_35427589/article/details/127051450

欄目分類
最近更新