Rust中的Cargo構(gòu)建、運(yùn)行、調(diào)試
基本概念
Cargo是rustup安裝后自帶的,Cargo 是 Rust 的構(gòu)建系統(tǒng)和包管理器。
Rust 開發(fā)者常用 Cargo 來管理 Rust 工程和獲取工程所依賴的庫。入門教程中使用 cargo new helloworld
命令創(chuàng)建了一個(gè)名為 helloworld
的工程,Cargo 新建了一個(gè)名為 helloworld 的文件夾并在里面部署了一個(gè) Rust 工程最典型的文件結(jié)構(gòu)。這個(gè) helloworld 文件夾就是工程本身。
Cargo相關(guān)命令
Cargo 除了創(chuàng)建工程以外還具備構(gòu)建(build)工程、運(yùn)行(run)工程等一系列功能,具體如下:
#創(chuàng)建—個(gè)普通的項(xiàng)目: cargo new project_name --bin #創(chuàng)建一個(gè)庫cargo build cargo new lib_name --lib--vcs none #構(gòu)建編譯,默認(rèn)會(huì)編譯到target/debug/project_name下 cargo build #運(yùn)行 cargo run #構(gòu)建編譯發(fā)布版本,這會(huì)做很多優(yōu)化,并編譯到target/release/project_name下 cargo build --release #如果你想修改cargo .lock文件的話,運(yùn)行它 cargo update #如果你只是想更新rand版本的話,運(yùn)行它 cargo update-p rand #運(yùn)行test測(cè)試 cargo test abc #檢查代碼,確保能通過編譯,但不產(chǎn)生執(zhí)行文件其速度比cargo build快得多編寫代碼時(shí)可以反復(fù)的使用cargo check檢查代碼,提高效率。 cargo check
創(chuàng)建工程目錄說明
cargo new helloworld
可以創(chuàng)建一個(gè)helloword的工程目錄,目錄結(jié)構(gòu)如下:
src
下面是代碼目錄。target
是編譯后的文件目錄。.gitignore
主要功能是屏蔽某些文件,使得這些文件不被追蹤(tracked),自然push后也不會(huì)上傳到github等平臺(tái)。Cargo.lock
編譯過程中自動(dòng)生成的 Cargo.lock 文件,記錄了相關(guān)資源信息,保證我們以后可以重新構(gòu)建。Cargo.toml
為該工程的配置文件,這個(gè)關(guān)系類似于: package.json 是 npm 的配置文件。
VSCode 中配置 Rust工程
打開 helloworld工程目錄 之后,在里面新建一個(gè)新的文件夾 .vscode (注意 vscode 前面的點(diǎn),如果有這個(gè)文件夾就不需要新建了)。在新建的 .vscode 文件夾里新建兩個(gè)文件 tasks.json
和 launch.json
,文件內(nèi)容如下:
tasks.json:
{ ????"version":?"2.0.0", ????"tasks":?[ ????????{ ????????????"label":?"build", ????????????"type":?"shell", ????????????"command":"cargo", ????????????"args":?["build"] ????????} ????] }
launch.json:
{ ????"version":?"0.2.0", ????"configurations":?[ ????????{ ????????????"name":?"(Windows)?啟動(dòng)", ????????????"preLaunchTask":?"build", ????????????"type":?"cppvsdbg", ????????????"request":?"launch", ????????????"program":?"${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe", ????????????"args":?[], ????????????"stopAtEntry":?false, ????????????"cwd":?"${workspaceFolder}", ????????????"environment":?[], ????????????"externalConsole":?false ????????}, { ????????????"name":?"(gdb)?啟動(dòng)", ????????????"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 ????????????????} ????????????] ????????} ????] }
調(diào)試程序的方法與其它環(huán)境相似,只需要在行號(hào)的左側(cè)點(diǎn)擊紅點(diǎn)就可以設(shè)置斷點(diǎn),在運(yùn)行中遇到斷點(diǎn)會(huì)暫停,以供開發(fā)者監(jiān)視實(shí)時(shí)變量的值。
到此這篇關(guān)于Rust之Cargo構(gòu)建、運(yùn)行、調(diào)試的文章就介紹到這了,更多相關(guān)Rust Cargo構(gòu)建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何使用VSCode配置Rust開發(fā)環(huán)境(Rust新手教程)
這篇文章主要介紹了如何使用VSCode配置Rust開發(fā)環(huán)境(Rust新手教程),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07