Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #70465

Re: Irritating multiple redefinition problem -- please help

From David Brown <david.brown@hesbynett.no>
Newsgroups comp.lang.c
Subject Re: Irritating multiple redefinition problem -- please help
Date 2015-09-14 10:24 +0200
Organization A noiseless patient Spider
Message-ID <mt6046$slc$1@dont-email.me> (permalink)
References <d26a19b9-2aa7-451d-9df4-14ece63ad4a2@googlegroups.com> <d5mufiF884kU11@mid.individual.net>

Show all headers | View raw


On 14/09/15 05:50, Ian Collins wrote:
> dakupoto@gmail.com wrote:
>> Could some C guru please help ? I have the
>> following set of ".h" and ".c" files.
>> A.h, B.h, C.h, B.c and C.c. A.h contains
>> constants as:
>> const double PI2 = 6.28;
> 
> I'm sure I've seen this exact question before...
> 
> Make the declaration in the header
> 
> extern const double PI2;
> 
> and define in in one and only one .c file
> 
> const double PI2 = 6.28;
> 

Alternatively, especially for simple constants, change the declaration
in the header file to the definition :

static const double PI2 = 6.28;

and remove any definition in .c files.

(There are differences in these two techniques, but in cases like yours
then either can usually be used.  Using a static const in the header
will often lead to more efficient code, if that is relevant to you.)

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Irritating multiple redefinition problem -- please help dakupoto@gmail.com - 2015-09-13 20:39 -0700
  Re: Irritating multiple redefinition problem -- please help Ian Collins <ian-news@hotmail.com> - 2015-09-14 15:50 +1200
    Re: Irritating multiple redefinition problem -- please help David Brown <david.brown@hesbynett.no> - 2015-09-14 10:24 +0200
      Re: Irritating multiple redefinition problem -- please help August Karlstrom <fusionfile@gmail.com> - 2015-09-14 14:39 +0200
        Re: Irritating multiple redefinition problem -- please help David Brown <david.brown@hesbynett.no> - 2015-09-14 15:45 +0200
          Re: Irritating multiple redefinition problem -- please help Richard Heathfield <rjh@cpax.org.uk> - 2015-09-14 14:52 +0100
            Re: Irritating multiple redefinition problem -- please help August Karlstrom <fusionfile@gmail.com> - 2015-09-14 18:13 +0200
          Re: Irritating multiple redefinition problem -- please help Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-09-14 16:41 +0100
          Re: Irritating multiple redefinition problem -- please help dakupoto@gmail.com - 2015-09-14 19:47 -0700
            Re: Irritating multiple redefinition problem -- please help Paul N <gw7rib@aol.com> - 2015-09-15 16:00 -0700
  Re: Irritating multiple redefinition problem -- please help gordonb.78i5t@burditt.org (Gordon Burditt) - 2015-09-13 23:40 -0500
  Re: Irritating multiple redefinition problem -- please help Ike Naar <ike@iceland.freeshell.org> - 2015-09-20 20:24 +0000

csiph-web