From: Eli Zaretskii Newsgroups: comp.os.msdos.djgpp Subject: Re: make depend Date: Wed, 19 Jan 2000 11:46:40 +0200 Organization: NetVision Israel Lines: 28 Message-ID: References: NNTP-Posting-Host: is.elta.co.il Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: news.netvision.net.il 948275398 1469 199.203.121.2 (19 Jan 2000 09:49:58 GMT) X-Complaints-To: abuse AT netvision DOT net DOT il NNTP-Posting-Date: 19 Jan 2000 09:49:58 GMT X-Sender: eliz AT is In-Reply-To: To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Errors-To: dj-admin AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Tue, 18 Jan 2000, Damian Yerrick wrote: > >the ANSI Standard > > does not define the behavior of __DJGPP__. No, but it does define general rules for interoperability between the compiler and the library, including the header files. > >says that a program which doesn't include any header files > >should still have the same behavior as when it does. > > How would certain programs work without math.h? Exactly like they did before ANSI C invented the prototypes: you need to put either the definition of a function or its protoype before you use it. The prototype doesn't *have* to come from a header file. But while you can require this for standard functions like sin and atan2, it's unreasonable to do that for library-private symbols like __DJGPP__. Incidentally, stdio.h doesn't include any functions that take floats or doubles, so you can easily write a program that doesn't include stdio.h and still works perfectly. Most of the functions in stdio.h (those which return an int or a void) don't need a prototype to work correctly.