Path: utzoo!attcan!uunet!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!samsung!umich!sharkey!amara!mcdaniel From: mcdaniel@adi.com (Tim McDaniel) Newsgroups: comp.lang.c Subject: Re: ANSI C prototypes Message-ID: Date: 5 Nov 90 16:18:35 GMT References: <1005@christopher-robin.cs.bham.ac.uk> <1906@necisa.ho.necisa.oz> <1990Nov2.030556.27759@ccu.umanitoba.ca> <1990Nov3.122432.24738@ccu.umanitoba.ca> <-BV6Q16@xds13.ferranti.com> <5226 Sender: news@adi.COM Followup-To: comp.lang.c Organization: Applied Dynamics International, Inc.; Ann Arbor, Michigan, USA Lines: 32 In-reply-to: Markku.Savela@tel.vtt.fi's message of 4 Nov 90 07:45:11 GMT Markku.Savela@tel.vtt.fi (Markku Savela) writes: > Any changes in external specification shouldn't be so frequent, if > you have the code done right. You assume (1) that there is a "right" way to do a module for a project; (2) that that "right" way is determinable before it is coded; (3) that the programmer can determine this "right" way a priori. Assumption (2) fails at my workplace. I've done a dozen or two little tweaks to the major module I've developed: a variable exported here, an argument type changed there, et cetera. I didn't know that we'd want to ship exceptions across the network. Nor did I know that someone needed VAXC$ERRNO. An automatic exporter tool is a great convenience, because I don't have to worry about keeping the .h up to date with the .c. I have a hard time just remembering to comment out the #define STANDALONE_DEBUG before checking it in! It is particularly nice here, because the tool does a "diff" between the new .h and the old one, and if they're the same, deletes the new one and leaves the old one untouched. Unnecessary makes are avoided even when you "mig *.c" to check everything. By the way, a compiler option to output prototypes is not useful. It should output declarations for all external identifiers, and only those. -- Tim McDaniel Applied Dynamics Int'l.; Ann Arbor, Michigan, USA Work phone: +1 313 973 1300 Home phone: +1 313 677 4386 Internet: mcdaniel@adi.com UUCP: {uunet,sharkey}!amara!mcdaniel