[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: reasons for having no inclusion guards in config.h
From: |
Steffen Dettmer |
Subject: |
Re: reasons for having no inclusion guards in config.h |
Date: |
Mon, 8 Mar 2010 14:31:15 +0100 |
On Mon, Mar 8, Bob Friesenhahn <address@hidden> wrote:
> It is also interesting to note that it is usually ok for the
> content of the header file to be parsed any number of times.
> The only exception might be with some weird macro expansion
> (but that would be a bug).
>
> The conditional inclusion of content is only an optimization.
If you have a struct definition (C/C++) or a typedef (C) in the
.h file, C compilers may refuse to process it twice and an
inclusion guard is needed:
address@hidden # cat x.h
typedef int counter_t;
address@hidden # cat x.c
#include "x.h"
#include "x.h"
int main(void) { return 0; }
address@hidden # gcc x.c
In file included from x.c:2:
x.h:1: redefinition of `counter_t'
x.h:1: `counter_t' previously declared here
address@hidden # tcc x.c
x.h:1: Error: duplicate typedef 'counter_t'
x.c: 0 warnings, 1 error, 0 serious errors
oki,
Steffen
- Re: reasons for having no inclusion guards in config.h, (continued)
- Re: reasons for having no inclusion guards in config.h, Carsten Heinrici, 2010/03/07
- Re: reasons for having no inclusion guards in config.h, Bob Friesenhahn, 2010/03/07
- Re: reasons for having no inclusion guards in config.h, John Calcote, 2010/03/07
- Re: reasons for having no inclusion guards in config.h, Bob Friesenhahn, 2010/03/07
- Re: reasons for having no inclusion guards in config.h, Tim Rice, 2010/03/07
- Re: reasons for having no inclusion guards in config.h, Harlan Stenn, 2010/03/07
- Re: reasons for having no inclusion guards in config.h, Tim Rice, 2010/03/07
- Re: reasons for having no inclusion guards in config.h, John Calcote, 2010/03/07
- Re: reasons for having no inclusion guards in config.h, Bob Friesenhahn, 2010/03/07
- Re: reasons for having no inclusion guards in config.h, Ralf Wildenhues, 2010/03/08
- Re: reasons for having no inclusion guards in config.h,
Steffen Dettmer <=
- Re: reasons for having no inclusion guards in config.h, Bob Friesenhahn, 2010/03/08
- Re: reasons for having no inclusion guards in config.h, Carsten Heinrici, 2010/03/07
- Re: reasons for having no inclusion guards in config.h, John Calcote, 2010/03/07
- Re: reasons for having no inclusion guards in config.h, Steffen Dettmer, 2010/03/08