Когда инициализируются статические и глобальные переменные?

ВC++ я знаюstatic а такжеglobal объекты строятся доmain функция. Но, как вы знаете, вCнет такогоinitialization procedure до .main

Например, в моем коде:

int global_int1 = 5;
int global_int2;
static int static_int1 = 4;
static int static_int2;
Когда эти четыре переменныеинициализируется?Где значения для инициализации вроде5 а также4 хранятся во время компиляции? Как ими управлять при инициализации?

РЕДАКТИРОВАТЬ:

Разъяснение 2-го вопроса.

В моем коде я использую5 винициализировать global_int1так как же может компиляторназначать 5 вglobal_int? Например, может быть, компилятор сначала сохранит5 где-нибудь (то есть в таблице) и получите это значение, когда начнется инициализация.Относительно "Как управлять ими при инициализации?, это действительно расплывчато, и я сам не знаю, как интерпретировать еще. Иногда не просто объяснить вопрос. Не обращайте на это внимания, поскольку я еще не полностью освоил вопрос.

Ответы на вопрос(4)

Ваш ответ на вопрос