🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.unix.programmer
Article #3650

Re: #ifndef/#ifdef problems in my header file (conditional header inclusion)

#3650
From: Ruud van Gaal
Date: Thu, 26 Dec 1996 00:00
48 lines
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-mail
References: <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