When are global constuctors executed?
The global constructors run right after the initializations performed by
the C runtime startup code, and right before main() gets called.
In a nutshell, the C runtime initialization code:

does some low-level initializations (e.g., setup the memory)
calls the global constructors
calls main(), which in turn

calls init() to do the Arduino-specific initializations
calls setup()
repeatedly calls loop()



The fine details are probably platform-specific. For AVR-based boards,
they are documented in the avr-libc manual.