August 2011
Intermediate to advanced
552 pages
23h 48m
English
C++ uses name mangling for doing typesafe linking. The compiler encodes type information in a function’s name, which can lead to unreadable error messages or indecipherable output from Unix tools like nm You might be poking around an object file and see something like this:
$ nm slidemaster.o
...
00000030 s EH_frame1
U __ZN12BigNerdRanch7BigShow5Slide13DisplayInViewEP7BigView
U ___gxx_personality_v0
...
That "__ZN12BigNerdRanch..." symbol looks interesting. Here it is made human readable:
$ c++filt __ZN12BigNerdRanch7BigShow5Slide13DisplayInViewEP7BigView ...Read now
Unlock full access