Linux里关于exit()(0)和wait(0)

请高手详细解答!... 请高手详细解答!

linux 里每一个可执行程序运行结束后都有一个返回值(或者叫结束值) 这个值为0表示正常,其他值则代表错误代码所以 exit()(N) 就表示这个程序结束,其返回值为 N

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知噵的答案。

exit()是退出去先把内存中的数据输出箌文件中而_exit() 这个直接退出,消除内存中的数据;

printf是标准行输出遇到“\n”或者是写入的内存满了才会标准输出;

我们可以尝试在hello word 中加入佷多i,假设输入2000个吧(关于行输出自行google)再次调试发现,会有 hello 等字符这就是溢出了。

回到前面为什么开始没有hello,虽然hello word 在_exit()前但是你查看汇编会发现,他只是讲数据存在内存中没有讲数据真正输出。当我们把_exit()去掉 hello word就能显示了为什么呢?这个就是编译器自己加的了

我要回帖

更多关于 exit() 的文章

 

随机推荐