The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
различие между return и exit в main(), !*! shadowmaan, 16-Ноя-11, 01:41  [смотреть все]
Здравствуйте,

Есть ли какое-нибудь различие между вызовом exit() и использованием return в функции main() в C программе?


int main(void)
{
  return 0;
}



int main(void)
{
  exit(0);
}

  • различие между return и exit в main(), !*! pavlinux, 08:54 , 16-Ноя-11 (1)
    > Есть ли какое-нибудь различие между

    Ну примерно около миллиона тактов процессора,
    #include <stdlib.h> ... +19 символов в код,
    и скорее всего на десяток байт распухнет бинарник.

    popq    %rbp
    ret

    или

    movl    $0, %edi
    call    exit

  • различие между return и exit в main(), !*! Аноним, 09:03 , 16-Ноя-11 (2)
    >[оверквотинг удален]
    > {
    >   return 0;
    > }
    >

    >
     
    > int main(void)
    > {
    >   exit(0);
    > }
    >

    В данном случае почти нету, кроме описанных павлинуксом выше. return прекращает работу функции и переводит выполнение обратно откуда была вызвана функция, exit() же завершает выполнение всей программы

  • различие между return и exit в main(), !*! shadowmaan, 23:07 , 16-Ноя-11 (3)
    Спасибо, момент прояснил.

    Вот некоторые выводы, которые я сделал.


    #include <stdlib.h>
    #include <unistd.h>

    int main(void)
    {
      // размер программы 8648
      return 5; // start up код вызывает exit(); получается exit(main())
      exit(5); // ISO C
      // exit() закрывает I/O вызывая fclose()

      // следующие вызовы немедленно возвращают управления ядру
      // размер программы немного больше 8696
      _Exit(5); // ISO C (stdlib)
      _exit(5); // POSIX (unistd)

      // если нет вызова exit() или return, то
      // согласно С99 возвращается 0,
      // до С99 возвращаемое значение не определено
    }




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру