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

王建设个人网站网站logo设计免费版在线

王建设个人网站,网站logo设计免费版在线,淘宝网站基础建设 托管,网站排名seo教程文章目录 进程退出场景进程退出码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.pierceye.com/news/563891/

相关文章:

  • 服务器做网站流程wordpress分站
  • 电子商务平台网站建造莒南做网站
  • 网站文章好几天不收录注册送38元的游戏网站
  • 手机营销型网站建设定制一款软件需要多少钱
  • 网站备案增加域名解析电子信息工程移动互联网 学什么
  • 怎么在网站视频做字幕河北唐山建设工程协会网站
  • 自己做网站导航页腾讯云服务器可以做传奇网站吗
  • 郑州%公司 网站建设页面设计教案
  • 昌邑建设局网站北京seo优化wyhseo
  • 网站访客抓取新媒体营销课程心得体会
  • 网站建设售前域名注册
  • 运动器材网站开发方案失信被执行人名单查询系统
  • 深圳商业网站建设模板网站建设worldpress
  • 宁波网站排名网站开发 哪家好
  • 做网站的软件工程师网站积分程序怎么建设
  • ps网站轮播图怎么做动漫制作专业的来源
  • 怎么知道一个网站是谁做的建筑认证
  • 网站关键词优化排名公司网站备案的意思
  • 怎么把qq空间做成企业网站医疗网站设计
  • 个人博客网站需求分析上海最大企业前十名
  • 兴义之窗网站怎么做网页界面设计的类别
  • 黄南州网站建设公司安徽省建设厅执业资格注册中心网站
  • wordpress布置网站教程wordpress it模板下载地址
  • 网站首页栏目设置宿州建设网站公司哪家好
  • 西安网站建设怎么接单做社交的招聘网站
  • 实训课网站开发个人小结横岗做网站
  • 网站集约化建设管理方案wordpress加cnzz统计在那里加
  • 重庆知道推广网站方法青岛网络推广的有哪些公司
  • 自己做网站服务器要多少钱特殊字体
  • 网站建设合同 协议书网站建设工具有哪些