Обновить

В C код может выполниться ещё до main()

В Linux и GCC есть constructor-функции - они запускаются автоматически до входа в main().

Выглядит почти как магия:

Такую функцию не нужно вызывать вручную. Компилятор сам пометит её как код, который должен выполниться при старте программы.

Где это используется:

- инициализация глобального состояния

- подготовка shared libraries

- регистрация плагинов

- настройка runtime-окружения

- выполнение служебного кода до основной логики

Именно поэтому в C-программе не всегда всё начинается с main().

Иногда до него уже кто-то успел поработать.

Подсмотрел в тг про С++ : https://t.me/cpluspluc/1449

Теги:
Всего голосов 9: ↑9 и ↓0+9
Комментарии7

Бывший инженер Microsoft выпустил новый «Диспетчер задач» для Linux, Windows и macOS

Бывший инженер Microsoft Дэйв Пламмер, работавший над добавлением поддержки ZIP‑файлов в Windows и меню «Пуск» Windows NT, представил проект TMOG. Это система мониторинга для Linux, Windows и macOS. Причём изначально Пламмер выпустил версию TMOG для macOS (Swift + AppKit), а потом доработал её для Linux (C++ + Qt 6) и Windows (Native Win32) под девизом «никакого Electron, HTML, JSON и прочего».

Бывший инженер Microsoft выпустил новый «Диспетчер задач» для Linux, Windows и macOS

Публикации