Skip to content

A rust library that demangles / undecorates C++ symbols mangled by MSVC

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE.LLVM
MIT
LICENSE.MIT
Notifications You must be signed in to change notification settings

isgasho/msvc-demangler-rust

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

msvc-demangler

msvc-demangler is a crate for Rust that can demangle C++ symbols which use the MSVC mangling scheme. These are emitted by the Microsoft C++ compiler for Windows as well as some others.

Example

use msvc_demangler;
let flags = msvc_demangler::DemangleFlags::llvm();
let result = msvc_demangler::demangle("??_0klass@@QEAAHH@Z", flags).unwrap();
println!("{}", result);

Behavior

It's functionality is similar to undname on Windows and the underlying UnDecorateSymbolName function. Since Microsoft does not document the mangling scheme this is likely not to be entirely accurate. When unclear the implementation tries to follow what LLVM does.

License

This msvc-demangler is dual licensed under the MIT and the University of Illinois Open Source Licenses.

License: MIT/NCSA

About

A rust library that demangles / undecorates C++ symbols mangled by MSVC

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE.LLVM
MIT
LICENSE.MIT

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 99.4%
  • Makefile 0.6%