Path: utzoo!attcan!uunet!auspex!guy From: guy@auspex.UUCP (Guy Harris) Newsgroups: comp.lang.c Subject: Re: #include search paths Message-ID: <433@auspex.UUCP> Date: 11 Nov 88 17:40:10 GMT References: <1866@loral.UUCP> Reply-To: guy@auspex.UUCP (Guy Harris) Organization: Auspex Systems, Santa Clara Lines: 64 >When I have a line like '#include ' I was under the impression >that /usr/include was searched for fred.h first due to the use of <> instead >of quotes. Is this true? Yes. >And where did I get this idea?? Probably from any of a number of documents about C implementations on UNIX. >Now that I need to verify it I can't find squat that tells me the >difference between <> and quotes. From the SunOS 4.0 man page CPP(1) - other UNIX implementations may have similar stuff in their documentation (this came from some version of the S5 CPP(1) man page): #include "filename" #include Read in the contents of filename at this location. This data is processed by cpp as if it were part of the current file. When the notation is used, filename is only searched for in the standard include directories. See the -I and -Y options above for more detail. No additional tokens are permitted on the directive line after the final " or >. Details Directory Search Order #include files is: 1. The directory of the file that contains the #include request (that is, #include is relative to the file being scanned when the request is made). 2. The directories specified by -I options, in left-to- right order. 3. The standard directory(s) (/usr/include on UNIX sys- tems). (the above description applies to most, if not all, UNIX systems, except for the "-Y" option which may not be present on all UNIX systems). And from K&R second edition: A 12.4 File Inclusion A control line fo the form # include causes the replacement of that line by the entire contents of the file "filename". ... The named file is searched for in a sequence of implementation-dependent places. Similarly, a control line of the form # include "filename" searches first in association with the original source file (a deliberately implementation-depenent phrase), then as if in the first form. ...