You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Rust中运行单文件程序?适用于信息学奥林匹克

在OI中用Rust单文件编程的简化方案

下面是几个不用反复修改Cargo.toml的实用办法:

1. 直接用rustc编译运行(最接近C++的方式)

完全跳过Cargo,像g++那样直接编译单文件:

# Windows环境
rustc path/to/file.rs -o out.exe && ./out.exe

# Linux/macOS环境
rustc path/to/file.rs -o out && ./out

这个方法不需要任何Cargo配置,和你熟悉的C++工作流程完全一致,适合快速测试单文件代码。

2. 利用Cargo的自动二进制目标检测

Cargo默认会自动识别src/bin/目录下的所有.rs文件作为独立的二进制程序,不需要手动在Cargo.toml里添加[[bin]]配置:

  • 把每个题目的代码文件放到src/bin/目录下,比如src/bin/p1.rs、src/bin/p2.rs
  • 运行对应程序时直接执行:
    cargo run --bin p1
    

这个方法既能享受Cargo的依赖管理(如果需要引入第三方库的话),又不用维护冗长的配置项。

3. 写脚本一键编译运行

如果不想每次敲长命令,可以写个简单的脚本自动处理:
比如Windows下的run_oi.bat:

@echo off
rustc %1 -o out.exe && out.exe

使用时直接输入:

run_oi.bat path/to/file.rs

Linux/macOS下的run_oi.sh:

#!/bin/bash
rustc "$1" -o out && ./out

给脚本赋予执行权限后运行:

./run_oi.sh path/to/file.rs

这样每次只需要传入文件路径就能一键完成编译运行,效率和C++单文件操作持平。

注意:如果代码需要依赖第三方库,优先用第二种方法;如果是纯标准库代码,第一种或第三种方法更快捷。

内容的提问来源于stack exchange,提问作者typed-sigterm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 15:55:02