После тестирования на msvc8 я обнаружил:
- Parse GetCommandLine() для argc и argv
- Инициализация стандартной библиотеки C
- С++ Конструктор глобальных переменных
Эти три вещи вызываются перед вводом main().
Мои вопросы:
- Будет ли этот порядок выполнения отличаться при переносе моей программы на другой компилятор (gcc или armcc) или на другую платформу?
- Что делает инициализация стандартной библиотеки C? До сих пор я знаю, что setlocale() является обязательным.
- Безопасно ли вызывать стандартные функции C внутри конструктора С++ глобальных переменных?