Article View: comp.unix.programmer
Article #3646Re: #ifndef/#ifdef problems in my header file (conditional header inclusion)
From: Chao-Kuang Yang
Date: Tue, 24 Dec 1996 00:00
Date: Tue, 24 Dec 1996 00:00
56 lines
3293 bytes
3293 bytes
Hi!
Have you ever try to put your header in MacHeader file or in pre-compiled
headers? That might just do what you intend to do.
Mark Yang
--
----------------------------------------------------------------------------
----
MetaTools Program Team
email: ckyang@earthlink.net;
myang@metatools.com;
Mauricio Tavares <raub@kushana.aero.ufl.edu> wrote in article
<raub-2412960039190001@dialup52.afn.org>...
> 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:
<gnusenet01bbf184$88049780$4d4b2299@pentium90>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<raub-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: 1014db,8f16387167a7efa5 X-Google-Attributes: gid1014db,public X-Google-Thread: 105df1,8f16387167a7efa5 X-Google-Attributes: gid105df1,public X-Google-Thread: ffc26,8f16387167a7efa5 X-Google-Attributes: gidffc26,public From: Chao-Kuang Yang <ckyang@earthlink.net> Subject: Re: #ifndef/#ifdef problems in my header file (conditional header inclusion) Date: 1996/12/24 Message-ID: <gnusenet01bbf184$88049780$4d4b2299@pentium90> X-Deja-AN: 205838328 distribution: world references: <raub-2412960039190001@dialup52.afn.org> to: gnu-gcc-announce@rutgers.edu 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 source-info: From (or Sender) name not authenticated. content-type: text/plain; charset=ISO-8859-1 organization: Cram Softnology mime-version: 1.0 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