В 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
, сохраняются во время компиляции? Как управлять ими при инициализации?
EDIT:
Уточнение второго вопроса.
- В моем коде я использую
5
для initializeglobal_int1
, так как компилятор назначает5
наglobal_int
? Например, возможно, компилятор сначала сохранит значение5
где-нибудь (т.е. Таблицу) и получит это значение при начале инициализации. - Что касается "Как управлять ими при инициализации?", это очень неопределенно, и я сам не понимаю, как интерпретировать. Иногда нелегко объяснить вопрос. Остерегайтесь этого, так как я еще не полностью изучил этот вопрос.