www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Name mangling

reply Anon <Anon_member pathlink.com> writes:
I seem to recall seeing a description of the the name mangling conventions that
D uses, but darned if I can find it anywhere?

Example:
Error 42: Symbol Undefined _D6parser5parseFT6config6ConfigZC8bytecode8Bytecode
Apr 21 2005
parent reply David L. Davis <SpottedTiger yahoo.com> writes:
In article <d49lmt$1947$1 digitaldaemon.com>, Anon says...
I seem to recall seeing a description of the the name mangling conventions that
D uses, but darned if I can find it anywhere?

Example:
Error 42: Symbol Undefined _D6parser5parseFT6config6ConfigZC8bytecode8Bytecode

Anon, take a look at C:\dmd\src\phobos\std\format.d which has the following: # enum Mangle : char # { # Tvoid = 'v', # Tbit = 'b', # Tbyte = 'g', # Tubyte = 'h', # Tshort = 's', # Tushort = 't', # Tint = 'i', # Tuint = 'k', # Tlong = 'l', # Tulong = 'm', # Tfloat = 'f', # Tdouble = 'd', # Treal = 'e', # # Tifloat = 'o', # Tidouble = 'p', # Tireal = 'j', # Tcfloat = 'q', # Tcdouble = 'r', # Tcreal = 'c', # # Tchar = 'a', # Twchar = 'u', # Tdchar = 'w', # # Tarray = 'A', # Tsarray = 'G', # Taarray = 'H', # Tpointer = 'P', # Tfunction = 'F', # Tident = 'I', # Tclass = 'C', # Tstruct = 'S', # Tenum = 'E', # Ttypedef = 'T', # Tdelegate = 'D', # } Also you might want to read something I wrote entitled: "Demystifying D DLLs - Part I : Exporting Free Functions" at http://spottedtiger.tripod.com/D_Language/D_Demystifying_D_DLLs1_XP.html. Well, I hope you find this information helpful, David L. ------------------------------------------------------------------- "Dare to reach for the Stars...Dare to Dream, Build, and Achieve!" ------------------------------------------------------------------- MKoD: http://spottedtiger.tripod.com/D_Language/D_Main_XP.html
Apr 21 2005
parent anon <anon_member pathlink.com> writes:
In article <d49pgr$1c84$1 digitaldaemon.com>, David L. Davis says...
In article <d49lmt$1947$1 digitaldaemon.com>, Anon says...
I seem to recall seeing a description of the the name mangling conventions that
D uses, but darned if I can find it anywhere?

Example:
Error 42: Symbol Undefined _D6parser5parseFT6config6ConfigZC8bytecode8Bytecode

Anon, take a look at C:\dmd\src\phobos\std\format.d which has the following:

Perfect, many thanks. I think I had most of it worked out, but the Z had me going:) anon.
# enum Mangle : char
# {
#     Tvoid     = 'v',
#     Tbit      = 'b',
#     Tbyte     = 'g',
#     Tubyte    = 'h',
#     Tshort    = 's',
#     Tushort   = 't',
#     Tint      = 'i',
#     Tuint     = 'k',
#     Tlong     = 'l',
#     Tulong    = 'm',
#     Tfloat    = 'f',
#     Tdouble   = 'd',
#     Treal     = 'e',
# 
#     Tifloat   = 'o',
#     Tidouble  = 'p',
#     Tireal    = 'j',
#     Tcfloat   = 'q',
#     Tcdouble  = 'r',
#     Tcreal    = 'c',
# 
#     Tchar     = 'a',
#     Twchar    = 'u',
#     Tdchar    = 'w',
# 
#     Tarray    = 'A',
#     Tsarray   = 'G',
#     Taarray   = 'H',
#     Tpointer  = 'P',
#     Tfunction = 'F',
#     Tident    = 'I',
#     Tclass    = 'C',
#     Tstruct   = 'S',
#     Tenum     = 'E',
#     Ttypedef  = 'T',
#     Tdelegate = 'D',
# }

Also you might want to read something I wrote entitled: "Demystifying D DLLs -
Part I : Exporting Free Functions" at
http://spottedtiger.tripod.com/D_Language/D_Demystifying_D_DLLs1_XP.html.

Well, I hope you find this information helpful,
David L.

-------------------------------------------------------------------
"Dare to reach for the Stars...Dare to Dream, Build, and Achieve!"
-------------------------------------------------------------------

MKoD: http://spottedtiger.tripod.com/D_Language/D_Main_XP.html

Apr 21 2005