[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Libraries



Hi Christian,

> Somebody can tell me wath is the difference between these libraries and the 
> .o files ?

If you compile a source file, you get an object file with the suffix
`.o'

You can put several object files together into an archive file with 
the command ar.  The archive files are sometimes named (object)
libraries.  Under Un*x the archives have the suffix `.a' and the
versions of gcc on the Atari used `.olb'  The new gcc's on the Atari
are so much like Un*x, that they also use `.a'

crt0.o     is the startup file
bcrt0.o    does the same, but is compiled for -mbaserel
gcrt0.o     - " -       , but is compiled for profiling, IIRC
bgcrt0.o    - " -       , -mbaserel + profiling

Have a look into the makefiles, they have sparse commentars.


gnu.olb    is the gnu standard library
gnu16.olb  does the same, but is compiled with 16-bit integers -mshort
gnu020.olb   - " -      , but is compiled for 68020  -m68020


The rules are:

starting with `b'  ->  baserel
name
a `16'             ->  short integers
a `020'            ->  compiled for MC68020 processors


The file `libm0201.a' is the math library (libm), probably compiled
for the `020' and uses short integers `16' but the name is truncated,
due to the fact that it resides on a TOS file system.


IIRC, the iio-library is a library with integer-only printf's.

> bcrt0.o       blibc.a       crt0.o        iio16.olb     libm020.a
> bgcrt0.o      blibc16.a     gcrt0.o       ksocket1.olb  libm0201.a
> bgnu.olb      blibm.a       gnu.ol        libc.a        libm16.a
> bgnu020.olb   blibm16.a     gnu.olb       libc16.a      lingem.a
> bgnu16.olb    blibm20.a     gnu020.olb    libgcc.a      lingem16.a
> bgnu1602.olb  blibm201.a    gnu16.olb     libgnu.a      socket.olb
> biio.olb      bsocket.olb   gnu16020.olb  libm.a        socket16.olb
> biio16.olb    bsocket1.olb  iio.a
> 
> Bye,
> *Christian*


Bye, 
     Stephan Groß
     1gross@informatik.uni-hamburg.de