<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Cargo是rustup安裝後自帶的,Cargo 是 Rust 的構建系統和包管理器。
Rust 開發者常用 Cargo 來管理 Rust 工程和獲取工程所依賴的庫。入門教學中使用 cargo new helloworld
命令建立了一個名為 helloworld
的工程,Cargo 新建了一個名為 helloworld 的資料夾並在裡面部署了一個 Rust 工程最典型的檔案結構。這個 helloworld 資料夾就是工程本身。
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 的組態檔。
開啟 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 } ] } ] }
偵錯程式的方法與其它環境相似,只需要在行號的左側點選紅點就可以設定斷點,在執行中遇到斷點會暫停,以供開發者監視實時變數的值。
到此這篇關於Rust之Cargo構建、執行、偵錯的文章就介紹到這了,更多相關Rust Cargo構建內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45