¿Cuándo exactamente se llama al constructor del objeto local estático? [duplicar]

Posible duplicado:
¿Cuál es la vida útil de una variable estática en una función C ++?

Digamos que tenemos un código como este:

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

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

¿Cuándo se ejecuta exactamente 'el código ctor'? ¿En cuanto a las variables estáticas normales antes de main () o en el momento en que llamamos primero a 'globalFunction ()'?

¿Cómo es en diferentes plataformas y diferentes compiladores (cl, gcc, ...)?

Gracias

-media pensión-

Respuestas a la pregunta(1)

Su respuesta a la pregunta