<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: различие между return и exit в main()</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9285.html</link>
    <description>Здравствуйте,&lt;br&gt;&lt;br&gt;Есть ли какое-нибудь различие между вызовом exit() и использованием return в функции main() в C программе?&lt;br&gt;&lt;br&gt;&#091;code&#093;&lt;br&gt;int main(void)&lt;br&gt;&#123;&lt;br&gt;  return 0;&lt;br&gt;&#125;&lt;br&gt;&#091;/code&#093;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#091;code&#093;&lt;br&gt;int main(void)&lt;br&gt;&#123;&lt;br&gt;  exit(0);&lt;br&gt;&#125;&lt;br&gt;&#091;/code&#093;&lt;br&gt;</description>

<item>
    <title>различие между return и exit в main() (shadowmaan)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9285.html#3</link>
    <pubDate>Wed, 16 Nov 2011 19:07:30 GMT</pubDate>
    <description>Спасибо, момент прояснил.&lt;br&gt;&lt;br&gt;Вот некоторые выводы, которые я сделал.&lt;br&gt;&lt;br&gt;&lt;br&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br&gt;#include &amp;lt;unistd.h&amp;gt;&lt;br&gt;&lt;br&gt;int main(void)&lt;br&gt;&#123;&lt;br&gt;  // размер программы 8648&lt;br&gt;  return 5; // start up код вызывает exit(); получается exit(main())&lt;br&gt;  exit(5); // ISO C&lt;br&gt;  // exit() закрывает I/O вызывая fclose()&lt;br&gt;&lt;br&gt;  // следующие вызовы немедленно возвращают управления ядру&lt;br&gt;  // размер программы немного больше 8696&lt;br&gt;  _Exit(5); // ISO C (stdlib)&lt;br&gt;  _exit(5); // POSIX (unistd)&lt;br&gt;&lt;br&gt;  // если нет вызова exit() или return, то&lt;br&gt;  // согласно С99 возвращается 0,&lt;br&gt;  // до С99 возвращаемое значение не определено&lt;br&gt;&#125;&lt;br&gt;</description>
</item>

<item>
    <title>различие между return и exit в main() (Аноним)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9285.html#2</link>
    <pubDate>Wed, 16 Nov 2011 05:03:11 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; &#123; &lt;br&gt;&amp;gt;   return 0; &lt;br&gt;&amp;gt; &#125; &lt;br&gt;&amp;gt; &#091;/code&#093; &lt;br&gt;&amp;gt; &#091;code&#093; &lt;br&gt;&amp;gt; int main(void) &lt;br&gt;&amp;gt; &#123; &lt;br&gt;&amp;gt;   exit(0); &lt;br&gt;&amp;gt; &#125; &lt;br&gt;&amp;gt; &#091;/code&#093; &lt;br&gt;&lt;br&gt;В данном случае почти нету, кроме описанных павлинуксом выше. return прекращает работу функции и переводит выполнение обратно откуда была вызвана функция, exit() же завершает выполнение всей программы&lt;br&gt;</description>
</item>

<item>
    <title>различие между return и exit в main() (pavlinux)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9285.html#1</link>
    <pubDate>Wed, 16 Nov 2011 04:54:13 GMT</pubDate>
    <description>&amp;gt; Есть ли какое-нибудь различие между &lt;br&gt;&lt;br&gt;Ну примерно около миллиона тактов процессора, &lt;br&gt;#include &amp;lt;stdlib.h&amp;gt; ... +19 символов в код, &lt;br&gt;и скорее всего на десяток байт распухнет бинарник.&lt;br&gt;&lt;br&gt;popq    &#037;rbp&lt;br&gt;ret&lt;br&gt;&lt;br&gt;или &lt;br&gt;&lt;br&gt;movl    $0, &#037;edi&lt;br&gt;call    exit&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
