Как я могу предотвратить следующий программный сбой моей программы?
::MessageBox(NULL, L"before", NULL, MB_OK);
void* x = ::calloc(1, -1);
::MessageBox(NULL, L"after", NULL, MB_OK);
Когда я запускаю этот код, я получаю сообщение «до», затем происходит сбой программы с «необработанным исключением win32» (окно «после» никогда не появляется).
Я знаю, что аргументы calloc приводят к сбою, запрашивая слишком много памяти! То, что я хочу знать, - это как предотвратить сбой, чтобы вернуть контроль и справиться с нехваткой памяти другим способом?
(Windows XP, Visual Studio 2005)