Re: Pre-main construction order in modules

Liste des GroupesRevenir à cl c++ 
Sujet : Re: Pre-main construction order in modules
De : eesnimi (at) *nospam* osa.pri.ee (Paavo Helde)
Groupes : comp.lang.c++
Date : 31. Mar 2025, 13:39:53
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vse2ep$8iai$2@dont-email.me>
References : 1 2 3 4 5
User-Agent : Mozilla Thunderbird
On 31.03.2025 12:09, Muttley@DastardlyHQ.org wrote:
On Mon, 31 Mar 2025 11:49:23 +0300
Paavo Helde <eesnimi@osa.pri.ee> wibbled:
On 30.03.2025 18:30, Muttley@DastardlyHQ.org wrote:
On Sun, 30 Mar 2025 10:38:57 -0400
James Kuyper <jameskuyper@alumni.caltech.edu> wibbled:
Section 6.9.3.3 does in fact impose many constraints on the sequence in
which non-local objects with static storage duration get initialized.
However, all of the sequence requirements are only between objects
defined in the same translation unit. Also, it's implementation-defined
which of those initializations occur before the start of main().
>
Initialising global objects before main is an absolute must otherwise how
are you expected to use them safely? They're not in the code for decoration.
>
Initializing global objects before main is not possible with
demand-loaded dynamically loaded libraries.
 Well obviously, but thats not what I'm talking about. If myobj() is constructed
in a linked .o file I expect it to be available and ready in main(). If not
then when? Or are you just supposed to guess or hope for the best?
The standard does not talk specifically about dynamic libraries, so the same rules apply for the main program. This means the same quote you snipped is relevant to your myobj as well:
"If [initialization] is deferred, it strongly happens before any non-initialization odr-use of any non-inline function or non-inline variable defined in the same translation unit as the variable to be initialized."
The keyword here is "non-initialization use". If you access your myobj from main() it would be a non-initialization use, which is guaranteed to trigger the needed initialization if needed, so everything will work fine.

Date Sujet#  Auteur
30 Mar 25 * Pre-main construction order in modules67Muttley
30 Mar 25 +* Re: Pre-main construction order in modules2Richard Damon
30 Mar 25 i`- Re: Pre-main construction order in modules1Bonita Montero
30 Mar 25 `* Re: Pre-main construction order in modules64James Kuyper
30 Mar 25  `* Re: Pre-main construction order in modules63Muttley
30 Mar 25   +* Re: Pre-main construction order in modules30Muttley
30 Mar 25   i+* Re: Pre-main construction order in modules14Muttley
30 Mar 25   ii+- Re: Pre-main construction order in modules1Richard Damon
31 Mar 25   ii+- Re: Pre-main construction order in modules1Muttley
31 Mar 25   ii`* Re: Pre-main construction order in modules11Bonita Montero
31 Mar 25   ii +* Re: Pre-main construction order in modules9Paavo Helde
31 Mar 25   ii i`* Re: Pre-main construction order in modules8Bonita Montero
31 Mar 25   ii i +- Re: Pre-main construction order in modules1Richard Damon
31 Mar 25   ii i `* Re: Pre-main construction order in modules6Paavo Helde
31 Mar 25   ii i  `* Re: Pre-main construction order in modules5Bonita Montero
31 Mar 25   ii i   +- Re: Pre-main construction order in modules1Paavo Helde
1 Apr 25   ii i   `* Re: Pre-main construction order in modules3Jakob Bohm
1 Apr 25   ii i    +- Re: Pre-main construction order in modules1Bonita Montero
1 Apr 25   ii i    `- Re: Pre-main construction order in modules1Paavo Helde
31 Mar 25   ii `- Re: Pre-main construction order in modules1Richard Damon
30 Mar 25   i`* Re: Pre-main construction order in modules15Bonita Montero
30 Mar 25   i `* Re: Pre-main construction order in modules14Bonita Montero
30 Mar 25   i  `* Re: Pre-main construction order in modules13Bonita Montero
30 Mar 25   i   `* Re: Pre-main construction order in modules12Bonita Montero
30 Mar 25   i    +- Re: Pre-main construction order in modules1Richard Damon
30 Mar 25   i    `* Re: Pre-main construction order in modules10Bonita Montero
30 Mar 25   i     `* Re: Pre-main construction order in modules9Chris M. Thomasson
31 Mar 25   i      `* Re: Pre-main construction order in modules8Bonita Montero
1 Apr 25   i       `* Re: Pre-main construction order in modules7Chris M. Thomasson
1 Apr 25   i        `* Re: Pre-main construction order in modules6Bonita Montero
1 Apr 25   i         `* Re: Pre-main construction order in modules5Chris M. Thomasson
1 Apr 25   i          `* Re: Pre-main construction order in modules4Bonita Montero
1 Apr 25   i           `* Re: Pre-main construction order in modules3Fred. Zwarts
1 Apr 25   i            `* Re: Pre-main construction order in modules2Bonita Montero
1 Apr 25   i             `- Re: Pre-main construction order in modules1Bonita Montero
31 Mar 25   +* Re: Pre-main construction order in modules25Paavo Helde
31 Mar 25   i+* Re: Pre-main construction order in modules23Muttley
31 Mar 25   ii`* Re: Pre-main construction order in modules22Paavo Helde
31 Mar 25   ii `* Re: Pre-main construction order in modules21Muttley
31 Mar 25   ii  +- Re: Pre-main construction order in modules1Paavo Helde
1 Apr 25   ii  `* Re: Pre-main construction order in modules19James Kuyper
1 Apr 25   ii   `* Re: Pre-main construction order in modules18Muttley
1 Apr 25   ii    +* Re: Pre-main construction order in modules11Paavo Helde
1 Apr 25   ii    i+* Re: Pre-main construction order in modules6Muttley
1 Apr 25   ii    ii`* Re: Pre-main construction order in modules5Paavo Helde
1 Apr 25   ii    ii +- Re: Pre-main construction order in modules1Muttley
1 Apr 25   ii    ii `* Re: Pre-main construction order in modules3Michael S
1 Apr 25   ii    ii  +- Re: Pre-main construction order in modules1Muttley
1 Apr 25   ii    ii  `- Re: Pre-main construction order in modules1Muttley
1 Apr 25   ii    i`* Re: Pre-main construction order in modules4Michael S
1 Apr 25   ii    i +* Re: Pre-main construction order in modules2Paavo Helde
1 Apr 25   ii    i i`- Re: Pre-main construction order in modules1Muttley
1 Apr 25   ii    i `- Re: Pre-main construction order in modules1James Kuyper
1 Apr 25   ii    `* Re: Pre-main construction order in modules6James Kuyper
1 Apr 25   ii     +- Re: Pre-main construction order in modules1Chris M. Thomasson
1 Apr 25   ii     +* Re: Pre-main construction order in modules2Michael S
2 Apr 25   ii     i`- Re: Pre-main construction order in modules1James Kuyper
2 Apr 25   ii     +- Re: Pre-main construction order in modules1James Kuyper
2 Apr 25   ii     `- Re: Pre-main construction order in modules1Muttley
31 Mar 25   i`- Re: Pre-main construction order in modules1Bonita Montero
31 Mar 25   `* Re: Pre-main construction order in modules7James Kuyper
1 Apr 25    `* Re: Pre-main construction order in modules6Jakob Bohm
1 Apr 25     `* Re: Pre-main construction order in modules5James Kuyper
1 Apr 25      `* Re: Pre-main construction order in modules4Michael S
1 Apr 25       +- Re: Pre-main construction order in modules1Keith Thompson
1 Apr 25       +- Re: Pre-main construction order in modules1James Kuyper
2 Apr 25       `- Re: Pre-main construction order in modules1David Brown

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal