|[2 earlier articles]|
|Re: Linker ... still useful ? email@example.com (1994-09-22)|
|Re: Linker ... still useful ? firstname.lastname@example.org (1994-09-23)|
|Re: Linker ... still useful ? email@example.com (Joel Runes) (1994-09-26)|
|Re: Linker ... still useful ? firstname.lastname@example.org (1994-09-26)|
|Re: Linker ... still useful ? email@example.com (Rob MacLachlan) (1994-09-27)|
|Re: Linker ... still useful ? firstname.lastname@example.org (1994-09-28)|
|Re: Linker ... still useful ? email@example.com (1994-09-28)|
|Linker ... still useful ? Roger@natron.demon.co.uk (1994-09-28)|
|Establishing exception handlers before main() firstname.lastname@example.org (1994-09-29)|
|Re: Linker ... still useful ? email@example.com (1994-09-29)|
|Re: Linker ... still useful ? firstname.lastname@example.org (1994-09-30)|
|Re: Linker ... still useful ? email@example.com (1994-10-05)|
|Re: Linker ... still useful ? firstname.lastname@example.org (1994-10-06)|
|[3 later articles]|
|From:||email@example.com (Jan Vorbrueggen)|
|In-Reply-To:||Rob MacLachlan's message of Tue, 27 Sep 1994 17:19:18 GMT|
|Keywords:||linker, Occam, comment|
|Organization:||Institut fuer Neuroinformatik, Ruhr-Universitaet Bochum, Germany|
|Date:||Wed, 28 Sep 1994 13:02:23 GMT|
Rob MacLachlan <firstname.lastname@example.org> writes:
1] Namespace -- Most linkers implement a more or less flat namespace,
whereas most modern languages don't. This can be handled to some degree
by prefixing, but that clearly isn't the best solution. In general linker
names become little more than random unique IDs, and some pre-linker phase
must make sure that the names really are unique.
2] Interface compatibility -- Ideally, many aspects of interface
compatibility checking would be put off until link time. In practice, few
linkers have any support for compatibility checking.
The Inmos Toolset linker does both of these, and the debugger supports
occam2's nested namespace quite well. (Well, given the nature of the language
and the processor, it wouldn't work at all if it didn't...) The debugger does
get confused once in a while.
3] Initialization -- Most modern languages have a concept of more-or-less
anonymous chunks of initialization code which are run before the main
The VMS linker has supported this very early on, in a very flexible way. Only
few compilers seem to make use of this. Probably ADA does, and FORTRAN seems
to do in some situations.
[C++ needs this feature for global class instances with initializers. Given
the wild success of C++, we'll probably be seeing more linker support.
Fortran doesn't need initialization code, although some compilers (one of the
PDP-10 compilers, for example) used it to initialize large sparse data arrays
and make the object file smaller. -John]
Return to the
Search the comp.compilers archives again.