Article View: comp.unix.programmer
Article #3650Re: #ifndef/#ifdef problems in my header file (conditional header inclusion)
From: Ruud van Gaal
Date: Thu, 26 Dec 1996 00:00
Date: Thu, 26 Dec 1996 00:00
48 lines
2516 bytes
2516 bytes
In <gnusenetraub-2412960039190001@dialup52.afn.org> Mauricio Tavares
<raub@kushana.aero.ufl.edu> wrote:
> 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
Something somewhere is wrong. Having includes be included multiple times this
way would also mean that any #define's in the include file would be
forgotten. That will certainly NOT be the case.
Other possibility: #ifndef is broke.
Better: try #include-ing such a file, then do:
#ifdef MOOSE
#error Should get here
#else
#error What is going on here?
#endif
in your C/C++ source.
Let me/us know the results.
--
Ruud van Gaal
MarketGraph Software & Images; Silicon Graphics, PC (DOS/Win95/NT) & Amiga
DoomShell 4.5: http://www.xs4all.nl/~jwkorver
DoomShell 5.0: 3D Game Alchemy for DOOM, DOOM II, Heretic and Hexen (book)
/\
/__\
/ \ Datastructures for the computer-illiterate: the binary tree
/____\
||
Technical Details
Message-ID:
<0a05qnw60.alamito@marketgraph.xs4all.nl>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<gnusenetraub-2412960039190001@dialup52.afn.org>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 11318c,157ed6c64d1aa006 X-Google-Attributes: gid11318c,public X-Google-Thread: 101ec9,8f16387167a7efa5 X-Google-Attributes: gid101ec9,public X-Google-Thread: fc89c,8f16387167a7efa5 X-Google-Attributes: gidfc89c,public X-Google-Thread: ffc26,8f16387167a7efa5 X-Google-Attributes: gidffc26,public X-Google-Thread: 1014db,8f16387167a7efa5 X-Google-Attributes: gid1014db,public X-Google-Thread: 105df1,8f16387167a7efa5 X-Google-Attributes: gid105df1,public From: rvg@marketgraph.xs4all.nl (Ruud van Gaal) Subject: Re: #ifndef/#ifdef problems in my header file (conditional header inclusion) Date: 1996/12/26 Message-ID: <0a05qnw60.alamito@marketgraph.xs4all.nl> X-Deja-AN: 206199595 references: <gnusenetraub-2412960039190001@dialup52.afn.org> followup-to: comp.unix.programmer,gnu.gcc.help,comp.lang.c,comp.sys.mac.programmer.help,comp.os.ms-windows.programmer.misc,comp.sys.amiga.programmer reply-to: rvg@marketgraph.xs4all.nl newsgroups: comp.unix.programmer,gnu.gcc.help,comp.lang.c,comp.sys.mac.programmer.help,comp.os.ms-windows.programmer.misc,comp.sys.amiga.programmer