猿问

以下是关于ExitProcess 参数的问题,麻烦帮忙看看!

在看代码的时候,遇到这个函数,原型是这样的:ExitProcess(STATUS_FAILED);但是编译的时候,会现STATUS_FAILED未定义的错误。这个参数代表什么意思呢?帮助文档上说这个函数的参数是指向退出代码,后来上网上查到个资料是:“退出代码是给你的父进程或调试你的进程的进程用的,对你的进程来说,用退出代码可以告诉你的父进程或调试进程你的运行结果,是正常不是不正常、出现了什么错误,等等的信息”这个说法对吗?知道的告诉下!谢谢了

尚方宝剑之说
浏览 383回答 2
2回答

白猪掌柜的

我不知道你在哪儿找的原型,我在MSDN2005里的原型是:VOID ExitProcess(UINT uExitCode);uExitCode即退出代码,是个UINT 类型,这个代码一般没有用途,我们一般可以填入0。对于父进程(不一定是父进程,拥有该进程句柄都算)可以通过GetExitCodeThread获取进程的退出代码。这个代码用来告诉父进程程序退出原因,填入什么没有特别规定,可以自己约定,一般来说填入0表示正常退出,其他表示非正常退出。

互换的青春

退出代码是给你的父进程或调试你的进程的进程用的,对你的进程来说,用退出代码可以告诉你的父进程或调试进程你的运行结果,是正常不是不正常、出现了什么错误,等等的信息。一般不太可能出现内存读写错误吧,你可以把具体的代码和出错信息贴出来看看。ExitProcess()就是你这样使用的,exit和ExitProcess不同的是,exit是C/C++的库函数,它并也是间接地调用了ExitProcess,不过在此之间进行善后工作,如在C++中,会析构所有的全局类对象等等。你调试运行一下,问题不一定是由ExitProcess()引起的
随时随地看视频慕课网APP
我要回答