我有一个Rust程序,当我构建它以供分发时,我想为“windows”子系统编译。目前我在我的主要人员中使用它:
#![feature(windows_subsystem)]
#![windows_subsystem = "windows"]
这样可行,但是当我在Windows机器上运行测试时,Windows子系统无法访问控制台,因此无法看到输出。我需要注释掉上面的代码行,以便查看我的测试结果。
有没有办法有条件地编译我正在运行的子系统以使测试工作?
答案 0 :(得分:4)
如The Rust Programming Language中所述,特别是chapter on conditional compilation:
您还可以根据带
cfg
的{{1}}变量设置其他属性:如果cfg_attr
#[cfg_attr(a, b)]
属性设置为#[b]
,将与
a
相同,并且 没有别的。
在这种情况下,它应该像
cfg