当前位置: 首页 > news >正文

杭州seo整站优化7天酒店网站建设优势

杭州seo整站优化,7天酒店网站建设优势,家具网站开发,广州开发区第二小学文章目录 进程退出场景进程退出码strerrorerrno浅谈进程异常exit _exit 进程退出场景 代码运行完毕#xff0c;结果正确代码运行完毕#xff0c;结果不正确代码异常 进程退出码 我们写的C/C的代码#xff0c;main函数每次都需要返回0#xff0c;而这个return… 文章目录 进程退出场景进程退出码strerrorerrno浅谈进程异常exit _exit 进程退出场景 代码运行完毕结果正确代码运行完毕结果不正确代码异常 进程退出码 我们写的C/C的代码main函数每次都需要返回0而这个return 0就代表这进程的退出码表征进程运行结果是否正确通常0表示正确。 int main() {printf(一个进程\n);return 0; //0-success }这个退出码会被父进程(bash)接收我们可以使用指令echo $?拿到上一个进程的退出码在命令行中所以指令的父进程都是bash。 就好比谁会关心一个孩子的成长呢那肯定是他们的父母 而对应正确的退出码只有一个那就是0因为成功了并不会详细询问而运行结果不正确则需要返回对应的退出码告诉父进程是什么原因失败了。 例如我们考了班上的第一名家长会说儿子(小甜心)真棒走带你去吃好吃的 而我们如果考了倒数家长则会问为什么只考了这么点分是什么原因 所以这个main函数的返回值本质上表示进程运行完成时是否运行正确如果不正确就用不同的数字表示不同的错误原因。 strerror 不过这些数字的退出码是给计算机看的我们并不懂所以需要将这些退出码转换成对应的错误信息所以在Linux中有一个接口strerror将退出码转换成字符串。 #includestdio.h #includeunistd.h #includestdlib.h #includestring.h int main() {for(int i 0;i150;i){printf(%d: %s\n,i,strerror(i));}return 0; //进程的退出码表征进程的运行结果是否正确 0- success }通过strerror接口我们就能查看到各个退出码所对应的信息。例如我们main函数返回的0。 其实本质上父进程接收退出码是为了给用户返回错误信息已便用户做出相应的措施 errno C语言也提供了一个接口errno这里能返回最新一个错误码 #includestdio.h #includeunistd.h #includestdlib.h #includestring.h #includeerrno.h int main() {char* ch (char*)malloc(1024*1024*1024*10);int ret 0;if(ch NULL) {printf(malloc error ,%d - %s\n,errno,strerror(errno));ret errno;}else{printf(malloc success\n);}return ret; }浅谈进程异常 当进程退出异常的时候这时候的退出码意义并不是很大。 比如说在一场考试过程中有人作弊被抓到这时候他就属于考试异常那么他的这个成绩也就无关紧要了。 这时候对于老师或者家长就要知道这个异常的原因而不是考试的成绩 我们对指针的解引用操作或者进行除0操作都会导致程序异常这些都有对应的信号系统转给我们的进程让其退出 int main() {int* p;*p 10; //对野指针解引用int a 1;a/0; //除0错误return 0; }我们可以通过验证来发现但我们进程没有发生错误的时候我们主动给这个进程发信息来模拟这个除零错误 exit _exit 要终止一个进程我们可以使用C语言提供的接口exit在之前也见过但我们这个exit()括号里面的数字都不知道怎么填一般都填的-1有了本次知识的了解我们就能知道这个括号里面填的就是进程的退出码。 exit在**main函数**里面和return是等价的都可以返回进程的退出码 而在某个函数里面exit也是表示当前进程直接退出而return则指标是退出当前函数 使用exit在任何地方都表示进程退出而return只是在main函数里面表示进程退出 系统也提供了一个接口_exit它的功能也是直接终止进程参数和返回值和exit一样 exit和_exit的区别 此篇文章之前提到过关于缓冲区的概念不了解的可以先看一下此篇文章Linux进度条小程序_请揣满RMB的博客-CSDN博客 我们来看这4段代码的执行结果 运行发现调用exit退出进程会刷新缓冲区之后再终止进程而_exit是直接退出进程。 其实本质上exit在调用的时候会先执行用户定义的一些清理函数然后刷新缓冲区最后再调用_exitexit与_exit是一个调用与被调用的关系。 这里我们也可以得出一个结论缓冲区绝对不在内核区
http://www.hkea.cn/news/14301427/

相关文章:

  • 培训如何优化网站广州 网站建设网络推广网页设计
  • 艺术设计类网站网站工程和网络工程有什么区别
  • 做钓鱼网站犯法吗网络建设需求
  • 网站能带来什么php网站 更改logo
  • 哈尔滨专业网站建设公司汕头第一网e京网
  • 上海千途网站建设网站加速器
  • 做平面设计都在那个网站找免费素材?梧州单身相亲网站
  • 直播型网站开发标书制作公司网站
  • 源码买卖网站网页设计基本流程
  • 网站建设内容方向广州建设交易中心官网
  • 怎样做视频网站的外链深圳建站模板
  • 南京便宜网站建设江门网站制作报价
  • 网站建设美化中期报告企业建设网站的资金策划
  • 怎么样用ppt做网站如何建设企业微网站
  • 企业网站页面设计广州工作室做网站
  • 杭seo网站建设排名百度投流
  • 搜索网站排行榜建设三库一平台
  • 设计网站首页1市场营销专业课程
  • 西安网站推广不断加强门户网站建设
  • 山西众邦建设集团网站爱站网做网站吗
  • 榆社网站建设上海网站设计见建设
  • 建设网站要求和注意事项手机网站源程序
  • 网站改域名备案php网站开发工程师笔试
  • 网站建设 设计找人做销售网站
  • 网站策划建设阶段的推广福州专业网站建设
  • 张槎建网站公司织梦网站开发
  • 专业网站建设最便宜免费空间做网站
  • 网站制作主要公司百度搜索推广多少钱
  • wordpress软件下载站做网站公司需要什么职位
  • 做网站与做网页的区别安徽最新天气预报