Fragile ABI
Paulo Pinto
pjmlp at progtools.org
Fri Aug 17 13:49:21 PDT 2012
On Friday, 17 August 2012 at 17:42:24 UTC, Michel Fortin wrote:
> On 2012-08-17 14:00:42 +0000, "Paulo Pinto"
> <pjmlp at progtools.org> said:
>
>> On Friday, 17 August 2012 at 13:42:27 UTC, Michel Fortin wrote:
>>> On 2012-08-17 12:36:56 +0000, "R Grocott" [..] (Windows does
>>> not really have a dynamic linker).
>>
>> Why? What is it lacking?
>>
>> From my experience, I don't have much to complain about it.
>>
>> Just wanting to know, not trolling.
>
> Quote from <http://xenophilia.org/winvunix.html>:
>
>> In Unix, a shared object (.so) file contains code to be used
>> by the program, and also the names of functions and data that
>> it expects to find in the program. When the file is joined to
>> the program, all references to those functions and data in the
>> file's code are changed to point to the actual locations in
>> the program where the functions and data are placed in memory.
>> This is basically a link operation.
>> In Windows, a dynamic-link library (.dll) file has no dangling
>> references. Instead, an access to functions or data goes
>> through a lookup table. So the DLL code does not have to be
>> fixed up at runtime to refer to the program's memory; instead,
>> the code already uses the DLL's lookup table, and the lookup
>> table is modified at runtime to point to the functions and
>> data.
For this just looks at two different ways to implement dynamic
loading.
Having Windows experience since the Windows 3.1 days, alongside
with
many other OS besides the typical Linux fan, I always find sad
this vision
of Linux == UNIX, right, Windows wrong.
The author also recognises that Aix, which is UNIX, also has
strange
dynamic loading rules, according to his understanding what
dynamic loading
is.
--
Paulo
More information about the Digitalmars-d
mailing list