欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Rust中的Cargo構(gòu)建、運(yùn)行、調(diào)試

 更新時(shí)間:2022年09月28日 14:43:12   作者:共飲一杯無  
Cargo是rustup安裝后自帶的,Cargo?是?Rust?的構(gòu)建系統(tǒng)和包管理器,這篇文章主要介紹了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)如下:

image.png

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.jsonlaunch.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)文章

  • 從迷你todo?命令行入門Rust示例詳解

    從迷你todo?命令行入門Rust示例詳解

    這篇文章主要為大家介紹了從一個(gè)迷你todo命令行入門Rust的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Rust裸指針的安全性實(shí)例講解

    Rust裸指針的安全性實(shí)例講解

    裸指針是一個(gè)不包含所有權(quán)和借用關(guān)系的原始指針,它們與常規(guī)指針相比沒有任何限制和保護(hù)措施,這篇文章主要介紹了Rust裸指針的安全性實(shí)例,需要的朋友可以參考下
    2023-05-05
  • Rust語言數(shù)據(jù)類型的具體使用

    Rust語言數(shù)據(jù)類型的具體使用

    在Rust中,每個(gè)值都有一個(gè)明確的數(shù)據(jù)類型,本文主要介紹了Rust語言數(shù)據(jù)類型的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • rust引用和借用的使用小結(jié)

    rust引用和借用的使用小結(jié)

    在rust中,引用的語法非常簡單。通過&來取引用,通過*來解引用,這篇文章主要介紹了rust引用和借用的使用小結(jié),總的來說,借用規(guī)則,同一時(shí)刻,你只能擁有要么一個(gè)可變引用,?要么任意多個(gè)不可變引用,具體內(nèi)容詳情跟隨小編一起看看吧
    2023-01-01
  • 深入理解Rust中Cargo的使用

    深入理解Rust中Cargo的使用

    本文主要介紹了深入理解Rust中Cargo的使用,Cargo簡化了項(xiàng)目的構(gòu)建過程,提供了依賴項(xiàng)管理,以及一系列方便的工作流程工具,下面就來具體的介紹一下如何使用,感興趣的可以了解一下
    2024-04-04
  • 深入了解Rust中的枚舉和模式匹配

    深入了解Rust中的枚舉和模式匹配

    這篇文章主要為大家詳細(xì)介紹了Rust中的枚舉和模式匹配的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • Rust常用特型之Drop特型

    Rust常用特型之Drop特型

    本文主要介紹了Rust常用特型之Drop特型,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • 一文弄懂rust生命周期

    一文弄懂rust生命周期

    生命周期是Rust語言中的一個(gè)概念,用于決內(nèi)存安全問題,本文主要介紹了一文弄懂rust生命周期,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • 如何使用VSCode配置Rust開發(fā)環(huán)境(Rust新手教程)

    如何使用VSCode配置Rust開發(fā)環(huán)境(Rust新手教程)

    這篇文章主要介紹了如何使用VSCode配置Rust開發(fā)環(huán)境(Rust新手教程),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 深入了解Rust中引用與借用的用法

    深入了解Rust中引用與借用的用法

    這篇文章主要為大家詳細(xì)介紹了Rust語言中引用與借用的使用,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的小伙伴可以了解一下
    2022-11-11

最新評(píng)論