網站首頁 編程語言 正文
基本概念
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的工程目錄,目錄結構如下:
src
下面是代碼目錄。target
是編譯后的文件目錄。.gitignore
主要功能是屏蔽某些文件,使得這些文件不被追蹤(tracked),自然push后也不會上傳到github等平臺。Cargo.lock
編譯過程中自動生成的 Cargo.lock 文件,記錄了相關資源信息,保證我們以后可以重新構建。Cargo.toml
為該工程的配置文件,這個關系類似于: package.json 是 npm 的配置文件。
VSCode 中配置 Rust工程
打開 helloworld工程目錄 之后,在里面新建一個新的文件夾 .vscode (注意 vscode 前面的點,如果有這個文件夾就不需要新建了)。在新建的 .vscode 文件夾里新建兩個文件 tasks.json
和 launch.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
相關推薦
- 2022-02-25 .gitignore 中增加了 .idea/ workspace.xml失效解決方案
- 2023-11-13 linux平臺下ZeroMQ zmq(C++)編譯安裝以及調用
- 2022-10-25 Python第三方常用模塊openpyxl的簡單介紹_python
- 2022-11-14 flutter中使用流式布局示例詳解_Android
- 2022-04-02 Python面向對象的程序設計詳情_python
- 2022-12-12 封裝flutter狀態管理工具示例詳解_Android
- 2022-11-20 RC4加密關鍵變量及算法特點原理詳解_腳本加解密
- 2023-07-25 BigDecimal詳解
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支