mangle

Leandro Lucarella luca at llucax.com.ar
Fri Jul 2 07:50:20 PDT 2010


Rainer Deyke, el  1 de julio a las 20:59 me escribiste:
> On 7/1/2010 20:34, Jonathan M Davis wrote:
> > On Thursday, July 01, 2010 19:13:02 Rainer Deyke wrote:
> >> Because DMD is stuck with a C-age linker.
> > 
> > Well, I guess that it just goes to show how little I understand about exactly 
> > how linking works when I don't understand what that means. After all, C doesn't 
> > using name mangling. Does that mean that name mangling it meant as a namespacing 
> > tool to ensure that no D function could possibly have the same linking name as a 
> > C function?
> 
> That, and to allow for overloaded functions, functions with the same
> name in different modules, and member functions.  Each symbol with
> external linkage must map to a single unique identifier.  The concerns
> are exactly the same as those in C++.

You can use fully qualified names, like:
p1.m1.f1(int, float)
p1.m1.f1(charp[])
p2.m2.f1(int, float)

I don't know if that names are supported by the linker.

-- 
Leandro Lucarella (AKA luca)                     http://llucax.com.ar/
----------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------
Come on, now,
I hear you're feeling down.
Well I can ease your pain
Get you on your feet again.


More information about the Digitalmars-d mailing list