#debug-mode #attributes #macro #hot-lib-reloader #no-mangle

no-mangle-if-debug

仅在调试模式下执行 #[no_mangle] 属性的宏

1 个不稳定版本

0.1.0 2022年8月11日

#23 in #debug-mode

MIT 许可协议

5KB

将仅在其应用的项中添加 #[no_mangle],但仅限于调试模式。

这对于与 hot-lib-reloader 一起使用非常有用,可以仅在调试模式下有条件地暴露库函数给库重加载器。在发布模式下,如果期望构建完全静态,则无需支付额外的代价。

#[no_mangle_if_debug]
fn func() {}

将扩展为

#[cfg(debug_assertions)]
#[no_mangle]
fn func() {}

#[cfg(not(debug_assertions))]
fn func() {}

许可协议

MIT


lib.rs:

将仅在其应用的项中添加 #[no_mangle],但仅限于调试模式。

这对于与 hot-lib-reloader 一起使用非常有用,可以仅在调试模式下有条件地暴露库函数给库重加载器。在发布模式下,如果期望构建完全静态,则无需支付额外的代价。

#[no_mangle_if_debug]
fn func() {}

将扩展为

#[cfg(debug_assertions)]
#[no_mangle]
fn func() {}

#[cfg(not(debug_assertions))]
fn func() {}

依赖项

~1.5MB
~35K SLoC