Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我想在应用程序因内存耗尽而崩溃时显示消息框_C++_Windows - Fatal编程技术网

C++ 我想在应用程序因内存耗尽而崩溃时显示消息框

C++ 我想在应用程序因内存耗尽而崩溃时显示消息框,c++,windows,C++,Windows,我想在应用程序因内存耗尽而崩溃时显示消息框 但是没有足够的内存 在异常处理函数中再次发生内存异常 我使用了windowsapi MessageBoxW函数 MessageBoxW( __in_opt HWND hWnd, __in_opt LPCWSTR lpText, __in_opt LPCWSTR lpCaption, __in UINT uType); 有没有办法提前制作留言盒 如果可能的话,我可以在应用程序因内存耗尽而崩溃时显示它 有好的解决方案吗?您

我想在应用程序因内存耗尽而崩溃时显示消息框

但是没有足够的内存

在异常处理函数中再次发生内存异常

我使用了windowsapi MessageBoxW函数

MessageBoxW(
    __in_opt HWND hWnd,
    __in_opt LPCWSTR lpText,
    __in_opt LPCWSTR lpCaption,
    __in UINT uType);
有没有办法提前制作留言盒

如果可能的话,我可以在应用程序因内存耗尽而崩溃时显示它


有好的解决方案吗?

您可以使用包装进程,将程序作为子进程启动并等待其退出。您需要考虑如何在内存用完时从子进程返回错误代码。当子进程终止时,父进程应该分析退出代码并决定是否显示错误消息。注意。如果由于您的程序导致内存不足,这将起作用。然后,在退出时,所有内存将返回操作系统,您的父进程可以发送消息。否则,您需要在父进程启动时在其上保留所需的内存量。希望这一策略能有所帮助。

如果内存不足,告诉用户这件事不应该是你的首要任务。您的首要任务是查找内存泄漏。此外,如果系统内存太少,甚至无法显示消息框,用户可能知道有什么地方出了问题,因为系统将爬行到停止状态,因为它只是继续交换。@JoachimPileborg-理论上,当应用程序在64位系统上是32位可执行的,并且用户拥有超过4GB的内存时,应用程序可能会在没有不稳定操作系统的情况下耗尽其虚拟内存RAM安装在他的计算机上。除了崩溃之外,用户可能没有注意到任何东西。我同意其他人的看法。