Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!ames!necntc!rayssd!dhb From: dhb@rayssd.UUCP Newsgroups: comp.unix.wizards Subject: Re: section 3 manpages, and, mode 444 distributions Message-ID: <1032@rayssd.RAY.COM> Date: Fri, 15-May-87 22:35:13 EDT Article-I.D.: rayssd.1032 Posted: Fri May 15 22:35:13 1987 Date-Received: Sat, 16-May-87 21:01:49 EDT References: <766@mcgill-vision.UUCP> Sender: dhb@rayssd.RAY.COM (David H. Brierley @ Raytheon Company, Portsmouth RI) Reply-To: dhb@rayssd.RAY.COM (David Brierley) Distribution: na Organization: Raytheon Company, Portsmouth RI Lines: 36 In article <766@mcgill-vision.UUCP> mouse@mcgill-vision.UUCP (der Mouse) writes: > >For that matter, why are the include files organized as they are? It >seems to me that it would be much more intelligent for each .h file to >look like > >#ifndef >#define >...body of the .h... >#endif > >and then instead of requiring the user to remember which files have to >be included and (most especially) what order they have to be included >in, simply make every .h file include every other .h file necessary? I have used this method several times myself but have finally found what I think is the ultimate solution. I just finished installing fourth generation make (from the ATT toolchest) and included in the distribution was a new release of cpp. One of the features of this new release is that it detects when a file has already been included and doesn't bother reading it again. Using this scheme it becomes very simple to have an include file include all the other files that it needs with no worry about including duplicate files. It makes life so much easier and it's a lot cleaner than the strange looking ifdefs. I know that not everyone has access to this version of cpp but it's probably in the latest sysV release and maybe it can be picked up by Berkeley for their next release. -- David H. Brierley Raytheon Submarine Signal Division 1847 West Main Road Portsmouth, RI 02871 Phone: (401)-847-8000 x4073 Internet: dhb@rayssd.ray.com Uucp: {cbosgd, gatech, linus, mirror, necntc, uiucdcs} !rayssd!dhb