gpt4 book ai didi

debugging - 如何创建用于调试的 Rust 函数或宏,以便在发布版本中进行优化?

转载 作者:行者123 更新时间:2023-11-29 08:27:21 25 4
gpt4 key购买 nike

在调试版本中,我想在几乎每次 OpenGL 调用后检查 OpenGL 错误以简化调试。由于这是一项代价高昂的操作,我不想在发布版本中这样做。现在我正在使用如下函数:

pub fn debug_panic_on_errors() {
if cfg!(debug_assertions) {
get_errors().unwrap();
}
}

我是否正确地假设此方法将始终被完全优化掉?是否有更好、更面向 future 的方法?

最佳答案

在 Release模式下,该函数将扩展为 if false { … },优化起来非常简单,所以是的,您可以按原样使用它。


如果你有点偏执,你可以#[cfg]两个函数,比如

#[cfg(debug_assertions)]
pub fn debug_panic_on_errors() {
get_errors().unwrap();
}

#[cfg(not(debug_assertions))]
pub fn debug_panic_on_errors() {
}

以便在解析期间选择结果,以确保我们不依赖优化器。但我真的不推荐这个......

关于debugging - 如何创建用于调试的 Rust 函数或宏,以便在发布版本中进行优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43352134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com