()` В Linux и GCC есть constructor-функции - они запускаются автоматически до входа в main(). Выглядит почти как магия: __attribute__((constructor)) Такую функцию не нужно вызывать вручную. Компилятор сам пометит её как код, который должен выполниться при старте программы. Где это используется: - инициализация глобального состояния - подготовка shared libraries - регистрация плагинов - настройка runtime-окружения - выполнение служебного кода до основной логики Именно поэтому в C-программе не всегда всё начинается с main(). Иногда до него уже кто-то успел поработать.