仅当处于发布模式时,我将如何运行没有窗口的Rust程序

我有一个 Rust 项目,我目前正在处理,我经常需要调试和部署它。虽然它已部署,但它在没有窗口的情况下在后台运行,但是当我调试时,我想要一个窗口来查看是否有任何运行时错误。

我目前#![windows_subsystem = "windows"]在调试时使用并注释掉它,但是程序本身有没有办法检查它是否处于调试模式,因此它不使用该标志?

回答

您可以使用只与如果特定谓词为true的属性进行编译。#![cfg_attr(predicate, attribute)]

至于谓词是什么,我的建议是使用显式功能(例如console),当您想使用非默认行为(例如,显示控制台窗口)进行构建时设置该功能。

此外,如果您想让您的代码可移植,您还应该检查您是否正在为 Windows 编译。

Cargo.toml

[features]
console = []
[features]
console = []

main.rs

然后您可以编译或运行--features console 以使用默认console子系统。


如果你想实际检查调试模式,你能得到的最接近的是debug_assertions谓词,它在没有优化的编译时默认启用。


以上是仅当处于发布模式时,我将如何运行没有窗口的Rust程序的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>