Open vieyahn2017 opened 8 months ago
Cargo.toml
[[bin]]
name = "file"
path = "src/file.rs"
cargo run --bin file
勉强写了一个能用的脚本 1.ps1
# PS D:\javaway\2023\rust\greeting> .\1.ps1 -source main -t rr
# PS D:\javaway\2023\rust\greeting> .\1.ps1 -source rr -t main
#$ErrorActionPreference = "Stop"
#$ErrorActionPreference = "Continue"
Param(
[string]$t,
[string]$source
)
if ($source -eq $null -or $source -eq '') {
$source = "main"
}
Write-Host "source(s): $source"
Write-Host "target(t): $t"
## todo 检查名字重复
## 目前能自动报错:Rename-Item : 当文件已存在时,无法创建该文件。
Rename-Item -Path "$PWD\src\$source.rs" -NewName "$PWD\src\$t.rs"
## 这边检查错误码的代码也无法生效
# $lastExitCode = $LASTEXITCODE
# if ($lastExitCode -ne 0) {
# Write-Host "重命名失败"
# exit 1
# }
# 在Cargo.toml追加bin项
Add-Content -Path "$PWD\Cargo.toml" -Value "`n`n[[bin]]"
Add-Content -Path "$PWD\Cargo.toml" -Value "name = `"$t`""
Add-Content -Path "$PWD\Cargo.toml" -Value "path = `"src/$t.rs`""
Write-Host cargo run --bin $t
## 这个一行搞定的命令,调不对
# (Get-Content -Path "$PWD\src\$t.rs" -Raw) | Set-Content -Path "$PWD\src\$t.rs" -Encoding UTF8 -NoNewline -Value "//cargo run --bin $t`r`n$($_)"
# #调试
# (Get-Content -Path "$PWD\src\main.rs" -Raw) | Set-Content -Path "$PWD\src\main.rs" -Encoding UTF8 -NoNewline -Value "//cargo run --bin $t`r`n$($_)"
# Get-Content -Path "$PWD\src\main.rs" -Raw
# Set-Content -Path "$PWD\src\main.rs" -Encoding UTF8 -NoNewline -Value "//cargo run --bin 1234`r`n5678"
# (Get-Content -Path "$PWD\src\main.rs" -Raw) | Set-Content -Path "$PWD\src\main.rs" -Encoding UTF8 -NoNewline -Value "//cargo run --bin $t" # 出错
$currentContent = Get-Content -Path "$PWD\src\$t.rs" -Raw
$newContent = "//cargo run --bin $t" + "`r`n" + $currentContent
Set-Content -Path "$PWD\src\$t.rs" -Value $newContent
Linux下搭建Rust开发环境
如果不能访问外网,那么可以下载离线安装包拷贝到Linux机器上安装Rust。在这个网址中,根据自己的Linux版本选择合适的离线安装包: https://forge.rust-lang.org/infra/other-installation-methods.html#standalone-installers
如果你想在 Rust 项目中执行非
main.rs
的文件,可以使用cargo run --bin <binary_name>
命令。其中<binary_name>
是你要执行的二进制文件的名称。例如,如果你的项目中有一个名为
foo.rs
的文件,并且你想要执行它,你可以使用以下命令:这将编译并运行
foo.rs
文件中的代码。请注意,你需要在Cargo.toml
文件中将foo.rs
文件添加到[[bin]]
部分中,以便 Cargo 可以将其编译为可执行文件。