Flaming printf
David Goodenough
dg at lakart.UUCP
Fri Apr 29 01:43:55 AEST 1988
>From article <11154 at mimsy.UUCP> by chris at mimsy.UUCP (Chris Torek):
>It is not difficult[*] to arrange for the linker to pull in a simple
>printf() if the rest of the program does not use floating point, and a
>full-blown floating point printf if it does.
I agree, and do the same myself. I have LIB.L which is my usual library,
and gets searched whenever I link a program. printf,sprintf,fprintf
all reside here, and link in a normal (i.e. integer only) #doprnt which
actually does the work. All my FP stuff lives in FLIB.L, which is included
in the linkage with a -LF flag (just like UNIX :-). Now FLIB.L ALSO
contains printf,sprintf,fprintf, which also reference (and cause linkage of)
#doprnt, but the #doprnt in FLIB.L knows about floating point, and so
whenever I use printf etc. and link with a -LF, I get the right printf,
and #doprnt. LIB.L is also scanned BUT BECAUSE FLIB.L PROVIDED printf,
IT IS NO LONGER UNDEFINED, SO IT GETS BYPASSED.
Anyone who produces a linker that cannot do what I've just described needs
to talk to his analysts (both system and psycho :-)
--
dg at lakart.UUCP - David Goodenough +---+
| +-+-+
....... !harvard!adelie!cfisun!lakart!dg +-+-+ |
+---+
More information about the Comp.lang.c
mailing list