|Linker ... still useful ? guerin@IRO.UMontreal.CA (1994-09-21)|
|Re: Linker ... still useful ? firstname.lastname@example.org (1994-09-22)|
|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)|
|[11 later articles]|
|Keywords:||linker, question, comment|
|Organization:||Universite de Montreal|
|Date:||Wed, 21 Sep 1994 21:01:54 GMT|
I don't want to question the usefulness of linkers as tools, since of
course they are quite used, and then probably useful.
No, what I want to question in fact is linking as a process different from
compilation, as a real step in the process of building executables.
As a tool, linkers provide the ability to put together precompiled code.
This permit to build much faster the executable than by recompiling all
the source code, assuming the precompiled code not beeing modified.
As a real step, linkers provide "implementation hiding" of used source
code. Hence a company can furnish precompiled code without the user beeing
able to figure out how the functionalities are implemented, assuming you
don't want to reveal your secret trick ... Is this really the case ?? Is
this really useful ??
As another real step, linker provide the ability to put together
precompiled code from different source language. Especially useful when
combining Assembler + High Lev Lang. But more and more HLL provide a way
to put Asm code directly in the source code. Is there really an advantage
to mix two HLL ? Even worst, many HLL don't provide the ability to be
mixed because of the cryptic way they export their function name. This
beeing because linkers are no more able to handle all the functionalities
HLL want to.
Take a look at C++, implementation is definitely not as hidden as it could
be, the language not hiding the private part of object, encouraging
inlining, and template. Hence sacrificing implementation hiding to speed
of the executable. Every company has its own way of encrypting function
name so as to do type checking and overloading. C++ from X is even not
linkable with C++ from Y.
For languages like C++, it seems that linkers are no more than just tools.
Now, the C++ community is bigger and bigger, So are other recent HLL
Hence, linkers are more and more just tools ...
Is there still a place for linkers as real step toward the making of
Thanx for comment,
[It has always surprised me that what linkers do today is not much more, and
in many cases less, than what they did 25 years ago. Perhaps the demands
of C++ will make people think about what linkers can or should do. -John]
Return to the
Search the comp.compilers archives again.