Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2001:
[Freeciv-Dev] Re: (offtopic) C subscripts; was Re: Compiler-warnings
Home

[Freeciv-Dev] Re: (offtopic) C subscripts; was Re: Compiler-warnings

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: rf13@xxxxxxxxxxxxxxxxxxxxxxxx
Cc: freeciv development list <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: (offtopic) C subscripts; was Re: Compiler-warnings
From: Gaute B Strokkenes <gs234@xxxxxxxxx>
Date: 27 Jan 2001 18:32:05 +0000

On Sat, 27 Jan 2001, hawk@xxxxxxxxxxxxxxxxxxxxxxx wrote:

> On Sat, Jan 27, 2001 at 06:02:12PM +0000, Gaute B Strokkenes wrote:
>> 
>> On Sat, 27 Jan 2001, hawk@xxxxxxxxxxxxxxxxxxxxxxx wrote:
>> 
>> > Wrong. An Amiga library could be accessed by base address (always
>> > in a6 and like C++'s this). Above the base address is a general
>> > struct which contains version, number entries, open count and so
>> > on. Above the general struct are fields which are private to the
>> > library. At addresses below the base address are jump entries. It
>> > is basically an address table (like C++'s vtable). The first
>> > entries were predefined and used to permit the library to execute
>> > code on open(), close().
>> 
>> I know how Amiga runtime shared libraries work, thanks.  I remember
>> writing the library base and jump table in assembler and then
>> writing my own .fd files.  (Ah, the memories of a misspent
>> youth...)
> 
> .fd files?

Basically, they contained a list of which functions could be found at
which offsets, and which registers to pass the arguments in.  You
could then pass this to a program that would generate appropriate
stubs / include files for your compiler.

-- 
Big Gaute                               http://www.srcf.ucam.org/~gs234/
Hand me a pair of leather pants and a CASIO keyboard
 -- I'm living for today!



[Prev in Thread] Current Thread [Next in Thread]