Cargo
開(kāi)發(fā)項(xiàng)目都不會(huì)是一個(gè)文件能解決的,通常都會(huì)有幾十上百個(gè)文件,而且文件都會(huì)組織在不同的目錄中,項(xiàng)目還會(huì)依賴(lài)許多其他人開(kāi)發(fā)的庫(kù)。為了方便管理項(xiàng)目文件和依賴(lài),引入了cargo命令,她可以讓我們很舒服的管理項(xiàng)目。
新建
執(zhí)行命令
就可以創(chuàng)建一個(gè)名為hello_cargo的項(xiàng)目,會(huì)創(chuàng)建hello_cargo目錄,并且在該目錄中會(huì)生成Cargo.toml、src/和src/main.rs。另外會(huì)自動(dòng)初始化git,生成適合rust項(xiàng)目的.gitignore文件。在某個(gè)git倉(cāng)庫(kù)中執(zhí)行該命令,默認(rèn)命令就不會(huì)再創(chuàng)建git倉(cāng)庫(kù)。如果一定要?jiǎng)?chuàng)建的話,執(zhí)行命令
如果要在當(dāng)前目錄生成項(xiàng)目,不創(chuàng)建新目錄,可以執(zhí)行
構(gòu)建
執(zhí)行構(gòu)建命令
會(huì)在target/debug/hello_cargo.exe中生成可執(zhí)行文件,該目錄中還會(huì)生成許多其他中間文件。
在最后要生成發(fā)布的程序時(shí),使用命令
會(huì)生成優(yōu)化后可執(zhí)行文件,要驗(yàn)證性能的話就要用release版本。
檢查
構(gòu)建會(huì)生成可執(zhí)行文件,比較耗時(shí),如果僅要驗(yàn)證編寫(xiě)代碼的正確性,可以執(zhí)行
會(huì)只檢查代碼正確性,在需要的時(shí)候再去執(zhí)行構(gòu)建命令。
運(yùn)行
構(gòu)建后的可執(zhí)行文件可以直接調(diào)用執(zhí)行,也可以通過(guò)cargo命令直接運(yùn)行,執(zhí)行
會(huì)直接運(yùn)行可執(zhí)行文件,而且只有第一次運(yùn)行和有代碼修改時(shí)才構(gòu)建,其他情況下會(huì)直接運(yùn)行。
文件說(shuō)明
Cargo.toml文件有項(xiàng)目的基本信息和依賴(lài)
基本信息一看就明白,依賴(lài)默認(rèn)是空的,需要crate依賴(lài)時(shí),就添加到dependencies下面。
src/main.rs中會(huì)創(chuàng)建一段hello world代碼,可以直接構(gòu)建運(yùn)行。
執(zhí)行cargo構(gòu)建命令后,會(huì)生成一個(gè)Cargo.lock文件,這個(gè)文件會(huì)鎖定項(xiàng)目的依賴(lài)的實(shí)際版本,比如設(shè)置了大于某個(gè)版本號(hào)的版本,第一次執(zhí)行會(huì)鎖定版本號(hào),再有新版本時(shí),實(shí)際使用的版本號(hào)不會(huì)變化,除非把lock文件刪除。