7 stable releases
2.1.2 | Oct 7, 2024 |
---|---|
2.1.0 | Aug 23, 2024 |
1.1.2 | Jul 25, 2024 |
1.1.1 | Jun 10, 2024 |
1.0.0 | May 31, 2024 |
#165 in Debugging
339 downloads per month
385KB
9K
SLoC
Overview
undname
is a purely Rust-based implementation of a Microsoft symbol demangler. It functions as an alternative to msvc-demangler
and Microsoft's own UnDecorateSymbolName
. It is closely based off of LLVM's own llvm-undname
and boasts competitive performance and better accuracy when compared to existing implementations.
The latest development docs are available at: https://ryan-rsm-mckenzie.github.io/undname-rs/undname/index.html
The stable release docs are available at: https://docs.rs/undname/latest/undname/
Changelogs are available at: https://github.com/Ryan-rsm-McKenzie/undname-rs/releases
Example
use undname::Flags;
let result = undname::demangle("?world@@YA?AUhello@@XZ", Flags::default()).unwrap();
assert_eq!(result, "struct hello __cdecl world(void)");
Dependencies
~0.6–1.2MB
~25K SLoC