From: mschulter AT DOT value DOT net (M. Schulter) Newsgroups: comp.os.msdos.djgpp Subject: Emacs IDE copes with quirky file Date: 3 Jun 1997 23:07:26 GMT Organization: Value Net Internetwork Services Inc. Lines: 59 Message-ID: <5n283e$e4l$1@vnetnews.value.net> NNTP-Posting-Host: value.net To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Hi, everyone. Now and then, djgpp users might enjoy a minor success story, and this one may illustrate both the importance of including the right libraries, and the user-friendliness of the Emacs IDE in coping with C sources on the Net that do ANSIcally incorrect things. Yesterday a friend e-mailed me a tutorial program from the Net. The program was for a simple trigonometric calculator that takes an input like progname sin 1.45 and displays the result. Well, I pulled it up in Emacs, and used my F7 macro to compile with a standard makefile. At first I noticed mainly two very typical warnings: adding 'int' before 'main', and adding the prudent line return(0); at the end of main(), got rid of these warnings. However, there was still a third warning, cautioning me about an implicitly declared function: atof. At first, I thought that this might just be some ANSI nicety, but when I tried to run the program I learned quite otherwise . Regardless of the value in radians I choose for a given trigonometric function such as sin or cos, the program always reported the same single value for that function. Now I guessed at the problem: there was a library that this source wasn't including that _should_ be included with that atof. Trying my trusty C-h i, I was in Info, and soon found out that atof is located in stdlib.h. Then I just added that vital line #include and pressed F7 again -- and the program actually worked as intended. Why a tutorial example wouldn't include stdlib.h for atof, I'm not sure: but the Emacs IDE and GCC worked together nicely to solve the problem -- even though I had no idea of what 'atof' was or what it might do when I first looked at this source. Thanks to the GNU and djgpp folks who make all this possible. Most appreciatively, Margo Schulter mschulter AT value DOT net (Please remove the extra . from my default e-mail address)