Article View: comp.unix.programmer
Article #3572#ifndef/#ifdef problems in my header file (conditional header inclusion)
From: Mauricio Tavares
Date: Tue, 24 Dec 1996 00:00
Date: Tue, 24 Dec 1996 00:00
30 lines
2434 bytes
2434 bytes
I am finding some very interesting behavior from #define and
#ifndef/#ifdef. Let's say that I have a header file called MyHeader.h. This
file is included by all my routines (they usually are in separate files). Now
that would not be very nice since it would include the very same include files
(stdio.h and others) over and over again. So, I thought if I use something
like
#ifndef MOOSE
#define MOOSE
#include <stdio.h>
#include <X11/Xlib.h>
#endif
the code would only include *one* copy of these two include files. What I am
finding out is that is not the case. Running C programs that have similar
conditional including of header files in gcc (Sparc), Think C (Mac), Borland
TC++ 3.1 for Windows (PC), and SAS/C (Amiga) results in the same thing. It
really seems that the compiler simply *forgets* what was defined in the
previous .c file and define them all over again. As a result, my object files
become unnecessarily large. Yes, the executable seems to take care of that,
but still I am using more disk space than I should. I am open for suggestions
as usual.
--
===========================+=======================================
| Mauricio Tavares | "We will attack... |
| raub@kushana.aero.ufl.edu | ...under the cover of daylight!" |
| | Rimmer |
===========================+=======================================
Technical Details
Message-ID:
<raub-2412960039190001@dialup52.afn.org>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fc89c,8f16387167a7efa5,start X-Google-Attributes: gidfc89c,public X-Google-Thread: f65d0,8f16387167a7efa5,start X-Google-Attributes: gidf65d0,public X-Google-Thread: 1014db,8f16387167a7efa5,start X-Google-Attributes: gid1014db,public X-Google-Thread: ffc26,8f16387167a7efa5,start X-Google-Attributes: gidffc26,public X-Google-Thread: 101ec9,8f16387167a7efa5,start X-Google-Attributes: gid101ec9,public X-Google-Thread: 105df1,8f16387167a7efa5,start X-Google-Attributes: gid105df1,public From: raub@kushana.aero.ufl.edu (Mauricio Tavares) Subject: #ifndef/#ifdef problems in my header file (conditional header inclusion) Date: 1996/12/24 Message-ID: <raub-2412960039190001@dialup52.afn.org> X-Deja-AN: 205708732 organization: Mostly Harmless newsgroups: comp.unix.programmer,gnu.gcc,comp.lang.c,comp.sys.mac.programmer.help,comp.os.ms-windows.programmer.misc,comp.sys.amiga.programmer