• exit与return的区别


    ===========================PHP的解释===========================================================   

    return 虽然返回数据,并且不再往下执行,但是它会返回执行上一步的操作,所以return的只是当前function而不会影响其他function的执行;

           exti 是完全将整个项目的执行都停止了;

    die()停止程序运行,输出内容
    exit是停止程序运行,不输出内容
    return是返回值
    die是遇到错误才停止
    exit是直接停止,并且不运行后续代码,exit()可以显示内容。
    return就是纯粹的返回值了,但是也不会运行后续代码
    exit(0):正常运行程序并退出程序;
    exit(1):非正常运行导致退出程序;
    return():返回函数,若在主函数中,则会退出函数并返回一值。

    ========================================================================

    exit();  是整个程序的结束。

    • exit(0):正常运行程序并退出程序;
    • exit(1):非正常运行导致退出程序;


    return();是某个函数的结束,并返回结果。

      1. return返回函数值,是关键字;  exit 是一个函数。

      2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。
      3. return是函数的退出(返回);exit是进程的退出。

      4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。

      5. return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非0 为非正常退出。

      6. 非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的。

     exit和_exit

    进程终止有5种方法:

    1正常终止

    (1)从main函数返回

    (2)调用exit

    (3)调用_exit

    2异常终止

    (1)调用abort

    (2)由一个信号来终止 

    exit和_exit就是用来正常终止一个进程的,主要区别是_exit会立刻进入内核,而exit先执行一些清除工作(包括执行各种终止处理程序,关闭所有标准I/O等,一旦关闭了IO,例如Printf等函数就不会输出任何东西了),然后才进入内核。这两个函数会对父子进程有一定的影响,当用vfork创建子进程时,子进程会先在父进程的地址空间运行(这跟fork不一样),如果子进程调用了exit就会把父进程的IO给关掉。

    这两个函数都带一个参数表示终止状态,这跟我们平时写的return效果是一样的,如果不返回一个终止状态,那表示这个进程的终止状态就是未定义的。

    转自http://blog.csdn.net/jody1989/article/details/6821477

  • 相关阅读:
    MS CRM 2011 RC中的新特性(4)——活动方面之批量编辑、自定义活动
    最近的一些有关MS CRM 2011的更新
    MS CRM 2011 RC中的新特性(6)——连接
    MS CRM 2011 RC中的新特性(7)—仪表板
    参加MS CRM2011深度培训课程——第一天
    MS CRM 2011插件调试工具
    MS CRM2011实体介绍(四)——目标管理方面的实体
    MS CRM 2011 RC中的新特性(3)——客户服务管理方面
    MS CRM 2011 RC中的新特性(8)—数据管理
    ExtAspNet 登陆
  • 原文地址:https://www.cnblogs.com/lxwphp/p/10036705.html
Copyright © 2020-2023  润新知