Вы не можете, и это реальная проблема при использовании глобальных переменных, поэтому большинство крупных системных разработчиков (должны) отказаться от использования этой функции.
Мой любимый подход:
int get_global_a(int initial_value=0) {
static int a = initial_value;
return a;
}
int get_global_b(int a_value=0) {
static int b = a_value * a_value;
return b;
}
/* Make sure this is the first line you execute in your program, but not before main! */
void initialize_all_globals(/* all necessary params */) {
int a = std::stoi(argv[1]);
get_global_a(a);
get_global_b(get_global_a());
}