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 |
#501 in Debugging
473 downloads per month
Used in 6 crates
(2 directly)
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.5–1MB
~20K SLoC