在建置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表示使用的是MUSL的libc实现...
• 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,数据越小越好) ...
debug = false (Cargo) debug-assertions = false (Cargo) incremental = true and incremental = false (Cargo) overflow-checks = false (Cargo) panic = 'abort' (Cargo) lib.doctest = false (Cargo) lib.test = false (Cargo) 注意:quick, -Zshare-generics=y 相当于 quick, incremental=true 加上启...
debug = true # 控制编译器是否开启 `-g` 参数 rpath = false # 控制编译器的 `-C rpath` 参数 lto = false # 控制`-C lto` 参数,此参数影响可执行文件和静态库的生成, debug-assertions = true # 控制调试断言是否开启 codegen-units = 1 # 控制编译器的 `-C codegen-units` 参数。注意,当`lto...
Rust 标准库对不安全函数的前提条件有许多断言,但历史上只在#[cfg(debug_assertions)]构建的标准库中启用,以避免影响发布性能。 现在,这些断言的条件被推迟到代码生成时,因此它们将根据用户自己的调试断言设置进行检查。 在Rust 1.78.0 版本中,对 slice::from_raw_parts 函数的调试断言进行了改进,以确保指针的正确...