doug@hcr.UUCP (Doug Moen) (04/11/84)
Why aren't they stored in directories? That is, why aren't the object files comprising the C library stored in a directory called /lib/libc, together with a symbol table cross reference file? This would seem like the obvious way to do it. The best explanation I've been able to get is that object libraries are stored in archive files for historical reasons, and it's never occurred to anyone to change things. -- Doug Moen {cbosgd,decvax,duke,ihnp4,research,utzoo,watmath}!hcr!doug
grt@hocda.UUCP (G.TOMASEVICH) (04/11/84)
Good idea to use a directory instead of an archive. Then 'make' would work correctly without the subterfuge I use. George Tomasevich, AT&T Bell Laboratories
jlw@ariel.UUCP (04/12/84)
Object libraries are stored in archive format because archives are much more efficient in disk space and inode space for the typically small object module stored in an archive. Inode space has always been and always will be a scarce resource with respect to doing things this way, and with the advent of large block disk systems on UNIX the average amount of wasted space increases tremendously. Joseph L. Wood, III AT&T Information Systems Laboratories, Holmdel (201) 834-3759 ariel!jlw
fair@dual.UUCP (Erik E. Fair) (04/13/84)
Well, for one thing there's less filesystem overhead. It is expensive under the Bell Filesystem to successively open, read and close lots of files. Erik E. Fair ucbvax!fair fair@ucb-arpa.ARPA dual!fair@Berkeley.ARPA {ihnp4,ucbvax,cbosgd,decwrl,amd70,fortune,zehntel}!dual!fair Dual Systems Corporation, Berkeley, California
alanr@drutx.UUCP (RobertsonAL) (04/13/84)
Also, under System 5, an archive symbol table is stored in the archive, and automatically updated upon updating the archive. This way, symbol lookup is faster than could be done if everything is in a directory. (Of course, that doesn't explain it historically...) -- Alan Robertson ihnp4!drutx!alanr AT&T Information Systems