Silvia Liverani
Home

Research

Blog

Programming

Teaching

Personal

Links

Contact


Main

My
software

LaTeX

Linux

C++

R


Notes on C++

Notes on C++
Understanding C++ error messages

The following simple Linux command can be extremely useful to understand the occasionally cryptic C++ error messages. The All C++ and Java function names are encoded into a low-level assembly label (this process is known as mangling). The c++filt program does the inverse mapping: it decodes (demangles) low-level names into user-level names so that the linker can keep these overloaded functions from clashing.

Usage:

> c++filt cryptic_c++_error_message

For example,

> c++filt _ZN5paramD1Ev

returns

param::~param()

which refers to the destructor of my param class.