To avoid some linking errors

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Mon Oct 29 11:19:08 PDT 2012


On 10/29/12 2:10 PM, Peter Alexander wrote:
> On Sunday, 28 October 2012 at 20:59:25 UTC, Walter Bright wrote:
>> On 10/28/2012 1:34 PM, deadalnix wrote:
>>> As Andrei stated, the linker's native language is encrypted klingon.
>>
>> It baffles me that programmers would find "undefined symbol" hard to
>> make sense of.
>
> _D3yeah9whats82__T4soS36_D4hard4toFZv9__lambda1FNaNbNfiiZbVE3understand9about12this
>
>
> ;-)
>
> Seriously though, it's irrelevant. The fact is a lot of programmers,
> especially new programmers or ones from programming languages that don't
> use linkers find link errors scary and confusing.
>
> Pretending otherwise gets us nowhere.
>
> Saying it baffles you why things are this way gets us nowhere.
>
> Saying that "they should understand" gets us nowhere.

I agree (and was about to post something very close to this). I've heard 
many times about this particular baffling, and it's one of those cases 
in which clearly people who are otherwise competent have quite a bit of 
difficulty. So one reasonable resolution is "well that's how people are, 
and that you think differently doesn't solve the matter one bit, so 
let's see what steps to take on improving it".

 From what I can tell here's how to solve linker error issues:

1. Automatic demangling of the symbols involved must be in place.

2. For undefined symbols, there must be reference at source file and 
line level of where they are referred - /all/ places!

3. For multiply defined symbols, there must be reference at source file 
and line level for each definition.

I understand there are technical difficulties in implementing the above, 
but that doesn't justify being baffled.

Being baffled is not an option.


Andrei


More information about the Digitalmars-d mailing list