Андрей
Высший разум
(430706)
1 неделю назад
Выполнение программы начинается не с main, а с запуска модуля стандартной библиотеки, который инициализирует служебные переменные (начиная со стандартных файлов ввода / вывода), настраивает параметры кучи и стека и т.д. После чего этот модуль вызывает функцию main.
Если ты заменишь в библиотеке этот модуль на свой собственный (именно это происходит, например, при компиляции ядра Linux), то сможешь задать любое имя вызываемой функции и передать этой функции любые параметры.
Любопытный исследователь
Мастер
(1333)
1 неделю назад
В программе на C++ всегда должна быть точка входа/выхода. Без неё никак. Если функции main() нет, то придётся реализовывать свои точки входа/выхода. Если ты увидел(а) код без функции main() и сторонних точек входа/выхода, то это либо библиотека, либо заголовочный файл.