Почему функцию main () в c ++ не нужно вызывать, она все равно запускается?

0

У меня очень простой вопрос. Я только что начал c++ и задавался вопросом, почему

 int main()

не нужно вызывать, он запускает и распечатывает

cout << "hello world";

без функции, фактически вызываемой...?

Спасибо за любую помощь.

  • 0
    main - это функция, которую операционная система вызывает для запуска вашей программы. Если бы не было main , как вы думаете, с чего бы началась ваша программа?
  • 0
    1. Потому что так указано в стандарте. 2. Потому что ОС называет это. 3. Но в любом случае, откуда бы вы это назвали? Поскольку в C ++ нельзя вызывать функцию вне другой функции, подумайте об этом - должна существовать функция, которая изначально вызывается автоматически.
Показать ещё 13 комментариев
Теги:

2 ответа

6

Это называется, просто не вами. Ваша библиотека RTL компилятора вызывает его для вас. Когда процесс запускается, запускается код запуска RTL, который настраивает среду по мере необходимости (устанавливает глобальные переменные, анализирует командную строку и т.д.), Затем вызывает main() при готовности и затем выходит из процесса после main() и среда была очищена.

-1

если вы запустите программу, текущий процесс (например, console/bash) будет разветвляться (т.е. сделать новый процесс, который является точной копией себя рядом с PID), после чего новый (скопированный процесс вызывает вашу программу, вызывая функцию main()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню