是否有 Rust 宏或类似的解决方法可以cargo new
在编译时或特别是在执行时将通过在我的源文件中创建的“src”文件夹的路径作为字符串文字包含在内cargo build
?
我已经成功地完成了类似的操作,include_str!
用于包含文件内容,但我需要知道是否可以在代码中直接包含 src 路径。
是否有 Rust 宏或类似的解决方法可以cargo new
在编译时或特别是在执行时将通过在我的源文件中创建的“src”文件夹的路径作为字符串文字包含在内cargo build
?
我已经成功地完成了类似的操作,include_str!
用于包含文件内容,但我需要知道是否可以在代码中直接包含 src 路径。
不,但您可以使用以下方法接近file!
:
const FILE: &'static str = concat!(env!("CARGO_MANIFEST_DIR"), "/", file!());
fn main() {
use std::path::Path;
println!("FILE: {:?}", FILE);
println!("src path: {:?}", Path::new(FILE).parent());
}
输出,在操场上:
FILE: "/playground/src/main.rs"
src path: Some("/playground/src")