help-gplusplus
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: non-local static object initialization problems


From: Bernd Strieder
Subject: Re: non-local static object initialization problems
Date: Thu, 12 Jul 2007 10:31:28 +0200
User-agent: KNode/0.10.4

Ali wrote:

> My problem is quite similar to Item 10 of Effective C++ (Scott
> Meyers):
> 
>
http://www.awprofessional.com/content/downloads/meyerscddemo/DEMO/EC/EI10_FR.HTM
> 
> I have Airplane objects declared in a namespace myNamespace in a file
> main.cpp, the memPool is initialized correctly. Everything works fine
> on Win32 platform with MinGW GCC 3.4.4, Borland C++ Builder 6, Visual
> Studio 2003 and Visual Studio 2005.
> 
> On Linux with GCC 3.3.5 and Intel C++ Compiler 8.1 i get segmentation
> fault, i could debug the reason: memPool is not yet initialized when
> the constructor is called for the Airplane objects in myNamespace.
> 
> Could anyone explain why?


There might be workarounds involving the order of definitions or the
linking order.

Maybe you could try a newer gcc release. gcc 3.4 and up include lots of
fixes wrt. C++. The old Intel compiler might have had to behave exactly
like the old gcc compiler to be compatible. This might explain, why it
works with Mingw gcc 3.4.4.

If this does not suffice, then please post minimal compileable code for
reproducing the problem. 

Bernd Strieder




reply via email to

[Prev in Thread] Current Thread [Next in Thread]