To avoid some linking errors

Walter Bright newshound2 at digitalmars.com
Sun Oct 28 14:57:51 PDT 2012


On 10/28/2012 2:38 PM, David Nadlinger wrote:
 > On Sunday, 28 October 2012 at 20:59:25 UTC, Walter Bright wrote:
 >> It baffles me that programmers would find "undefined symbol" hard to make
 >> sense of.
 >
 > Do really think that your typical Java programmer is familiar with the term
 > »symbol« in the compiler/linker sense?

I am baffled why a programmer with even a modest skill level in any language 
would not know what a symbol in a programming language is.


 > Also, don't underestimate the perceived
 > scariness/ugliness of mangled names in linker error messages. I'm pretty much
 > fluent in reading D mangled names by now, but most newcomers definitely aren't.

I see the point of that, and at one point optlink did demangle names. But that 
didn't change anything. There was also a filter one could run the linker output 
through that would demangle the names, but nobody found that useful, either, and 
it fell by the wayside.

You'll see the same complaints from the same people appearing for C code being 
linked, which does not have mangled names.


 > That, coupled with the absence of the typical source location information (IDE
 > integration!), is probably enough to make encountering such errors a
 > significantly more unpleasant experience for most people than compiler errors.
 >
 > Again, maybe not for you, maybe not for me, but I think it is clear that this is
 > a problem to some, so the discussion should not be about talking the problem
 > away, but rather about evaluating possible solutions/mitigation strategies in
 > terms of feasibility (e.g. name demangling in linker output?).

There is this, which is linked to from the faq:

     http://www.digitalmars.com/ctg/OptlinkErrorMessages.html#symbol_undefined

I even wrote an entry in this book

     http://www.amazon.com/Things-Every-Programmer-Should-Know/dp/0596809484

about it. *Every* programmer should know what a linker does.


More information about the Digitalmars-d mailing list