Nick Hilliard said:
> It has to be said that Linux is particularly bad in this regard. Most other
> operating systems don't even get close to this level of silliness.
Yep -- that's the price of portability unfortunately -- and GNU C. Check
out the horrific number of standards supported by the glibc headers
(/usr/include/features.h).
Having said that I seem to recall Solaris was pretty bad as well, as it
had its own portability defines in the headers too... ;)
Basically it's a good thing for the stability of the libc code if the
headers are full of portability crud -- as it means that (hopefully) a
minimal amount of code is platform dependent and a maximum is shared
between platforms. But it's a bad thing for us people on the user end of
those headers and libs ;)
As a matter of interest -- what headers do you get that figure with? With
unistd.h, stdio.h and sys/types.h, the 3 most common hdrs I can think of,
with glibc 2.1.3, I get about 30k of headers, and 572 non-blank lines of
code/typedefs/prototypes -- from:
gcc -Wall -E tst.c | sed -e '/^ *$/d' -e '/^\#/d' | wc -l
--j.
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!