在建置Cargo程序项目的时候,我们可以轻易地使用cargo build或是cargo build --release指令,来对开发(development)或是发布/部署(deployment)的目的做区分。cargo build编译出来的二进制文件没有经过优化,而且会激活#[cfg(debug_assertions)]属性,来使用调试(debug)相关的代码;cargo build --release则允许使用编译器所有...
DebugInfo是一个枚举类型,表示调试信息的级别。 debug_assertions: bool - 该字段用于确定是否启用debug断言。 force_rebuild: bool - 该字段用于确定是否强制重新编译。 keep_stage: bool - 该字段用于确定是否保留编译的中间阶段文件。 doc_all: bool - 该字段用于确定是否为所有可用的文档生成文档。 doc_coverage:...
fn main() { // 只有在 debug 编译时才会包含这个代码块 #[cfg(debug_assertions)]{ println!("Debug build");} // 只有在 Windows 平台上才会包含这个代码块 #[cfg(target_os = "windows")]{ println!("Running on Windows");} } cfg 宏允许根据条件来决定是否包含某一段代码,使得代码能够根据环境...
-Clink-args=-Wl,-s (rustc) debug = false (Cargo) debug-assertions = false (Cargo) incremental = true 且 incremental = false (Cargo) overflow-checks = false (Cargo) panic = 'abort' (Cargo) lib.doctest = false (Cargo) lib.test = false (Cargo) rustc 标志:快速构建优于调试构建。(测...
• debug_assertions - 若没有开启编译优化时就会成立。 • target_arch = "..." - 目标平台的CPU架构,包括但不限于x86, x86_64, mips, powerpc, arm或aarch64。 • target_endian = "..." - 目标平台的大小端,包括big和little。 • target_env = "..." - 表示使用的运行库,比如musl表示...
debug = false (Cargo) debug-assertions = false (Cargo) incremental = true 且 incremental = false (Cargo) overflow-checks = false (Cargo) panic = 'abort' (Cargo) lib.doctest = false (Cargo) lib.test = false (Cargo) rustc 标志:快速构建优于调试构建。(测试于 Linux,数据越小越好) ...
-C debug-assertions=val -- explicitly enable the `cfg(debug_assertions)` directive -C inline-threshold=val -- set the threshold for inlining a function (default: 225) -C panic=val -- panic strategy to compile crate with -C incremental=val -- enable incremental compilation ...
ifcfg!(debug_assertions) { // <9> eprintln!("debug: {:?} -> {:?}", record, fields); // <10> } let name = fields[0]; // <11> ifletOk(length) = fields[1].parse::<f32>() { // <12> println!("{}, {}cm", name, length); // <13> ...
• debug_assertions - 若没有开启编译优化时就会成立。 • target_arch = "..." - 目标平台的CPU架构,包括但不限于x86, x86_64, mips, powerpc, arm或aarch64。 • target_endian = "..." - 目标平台的大小端,包括big和little。 • target_env = "..." - 表示使用的运行库,比如musl表示...
debug_assertions:是否为调试构建 这些条件可以根据具体需要进行组合,如: 代码语言:javascript 复制 cfg!(target_os="linux")cfg!(target_os="macos",target_arch="x86_64") cfg!宏的作用是在编译时根据条件判断进行一些特定的操作,如编译包含符合条件的代码块,或者根据不同的平台设置不同的常量。