Machine specific predefined names

Mark Biggar markb at sdcrdcf.UUCP
Sat Apr 2 04:40:21 AEST 1988


In article <3264 at haddock.ISC.COM> karl at haddock.ima.isc.com (Karl Heuer) writes:
|In article <598 at tuvie> rcvie at tuvie.UUCP (Alcatel-ELIN Forsch.z.) writes:
||In article <3225 at haddock.ISC.COM> karl at haddock.ima.isc.com (Karl Heuer) writes:
||>If you try to redefine *any* standard routine -- whether macro or function
||>-- the result should be, and is, undefined.  Why should the user be forced
||>to learn the implementation details?
||Just try the portable way and noone has to learn anything but that there
||*are* some routines implemented as functions and some as macros:
||  #undef putchar
||  <your putchar-macro/function>
|That isn't portable.  After you've redefined something, you have no way of
|knowing whether other library routines (e.g. puts) will be using your putchar
|or the standard one.
I thought the standard included a guarantee that if you did the above that
the libraries would still continue to use the original definition.
In fact the whole reason for the necessity of using the #undef etc. was to
allow for that guarantee.

Mark Biggar
{allegra,burdvax,cbosgd,hplabs,ihnp4,akgua,sdcsvax}!sdcrdcf!markb
markb at rdcf.sm.unisys.com



More information about the Comp.lang.c mailing list