Mangling question
Joe Kelsey
joek@mail.flyingcroc.net
Wed May 29 07:14:00 GMT 2002
I was trying to figure out why my class wasn't defined due to linker
errors I received. The linker complained about undefined symbol
_$_6Shared
Where Shared is the name of the undefined class. I read the mangling
documentation and I cannot figure out where this comes from. $ is some
sort of static indicator, so what is _$_? Indicating the static
constructor?
Also, what are
__ti6Shared
__tf6Shared
t means template, i means integer and f means float, but the constructor
is not a template nor does it take a float argument or return a float
argument. And the extra underscores are not for BSD compatibility, as
the normal method name mangling does not start with an underscore.
Maybe the mangling document needs updating.
/Joe
p.s., the undefined problem was due to a stupid programming error, pure
virtual destructor when what I needed was an empty virtual destructor...
More information about the Gcc-help
mailing list