相关疑难解决方法(0)

如何在Rust中使用cfg检查发布/调试版本?

使用C预处理器,这是常见的,

#if defined(NDEBUG)
    // release build
#endif

#if defined(DEBUG)
    // debug build
#endif
Run Code Online (Sandbox Code Playgroud)

货物的粗略等价物是:

  • cargo build --release 发布.
  • cargo build 用于调试.

如何使用Rust的#[cfg(...)]属性或cfg!(...)宏来做类似的事情?

我知道Rust的预处理器不像C那样工作.我查看了文档,此页面列出了一些属性.(假设此列表是全面的)

debug_assertions 可以检查,但用于检查更一般的调试情况可能会误导.

我不确定这个问题是否与货物有关.

debugging preprocessor rust rust-cargo

24
推荐指数
1
解决办法
7135
查看次数

我可以有条件地为 Windows 子系统编译 Rust 程序吗?

我有一个 Rust 程序,当我构建它进行分发时,我想为“windows”子系统编译该程序。目前我在 main.rs 中使用它:

#![feature(windows_subsystem)]
#![windows_subsystem = "windows"]
Run Code Online (Sandbox Code Playgroud)

这是可行的,但是当我在 Windows 计算机上运行测试时,Windows 子系统无法访问控制台,因此我看不到输出。我需要注释掉上面的代码行才能看到测试结果。

有没有办法有条件地编译我正在运行的子系统以使测试正常工作?

windows compilation rust

4
推荐指数
1
解决办法
2179
查看次数