LINUX.ORG.RU

Сообщения XBOCT

 

gcc, bad_alloc

Почему то следующий код выдаёт исключение bad_alloc, после создания ~ 22 000 экземпляров массива, число может немного меняться и от размера создаваемого массива не зависит. С выделением памяти проблем вроде бы быть не должно. Собирал gcc-4.1 и 4.3. Собранный MinGW под виндой работает нормально. Собственно если есть ошибка то где она?

#include <iostream> 

using namespace std;

void munic(int* res);
int cntErr;

int main(int argc, char** argv)
{
    cntErr = 0;
    int cntSize = 30000;
    int* res;
    for(int cnt = 0; cnt < cntSize; cnt++)
    {
        cout << cnt << '\t';
        munic(res);
    }
    return 0;
}

void munic(int* res)
{
    try
    {
        int arrSize = 100;
        res = new int(arrSize);
        for(int cnt = 0; cnt < arrSize; cnt++)
        {    
            res[cnt] = 0;
        }
    }
    catch(bad_alloc& err)
    {
        cout << err.what() << '\t' << cntErr << '\n';
        cntErr++;
    }
}
XBOCT
()

сборка qt-4.5 для Debian

Собственно, кто интересовался сабжем. У меня уже есть рабочая версия, сейчас пишу из под неё. Осталось привести её в божеский вид, и, если кому нужно, могу выложить каталог debian с правилами сборки и патчами.

XBOCT
()

RSS подписка на новые темы