Quando exatamente o construtor do objeto local estático é chamado? [duplicado]

Possível duplicado:
Qual é o tempo de vida de uma variável estática em uma função C ++?

Digamos que temos um código como este:

Some class {
  Some() { // the ctor code }
};

Some& globalFunction()
{
  static Some gSome;
  return gSome;
}

Quando exatamente 'o código do ctor' é executado? Quanto às variáveis estáticas normais antes de main () ou no momento que chamamos primeiro de 'globalFunction ()'?

Como é em diferentes plataformas e diferentes compiladores (cl, gcc, ...)?

obrigado

-hb-

questionAnswers(1)

yourAnswerToTheQuestion