Redefining a macro means defining (with `#define
') a name that
is already defined as a macro.
A redefinition is trivial if the new definition is transparently identical to the old one. You probably wouldn't deliberately write a trivial redefinition, but they can happen automatically when a header file is included more than once (see Header Files), so they are accepted silently and without effect.
Nontrivial redefinition is considered likely to be an error, so
it provokes a warning message from the preprocessor. However, sometimes it
is useful to change the definition of a macro in mid-compilation. You can
inhibit the warning by undefining the macro with `#undef
' before the
second definition.
In order for a redefinition to be trivial, the new definition must exactly match the one already in effect, with two possible exceptions:
Recall that a comment counts as whitespace.
Packaging copyright © 1988-2000 OAR Corporation
Context copyright by each document's author. See Free Software Foundation for information.