Я использую программу на C++ в Ubuntu 10.04 (32-битная системная архитектура). Если я вычисляю объем памяти, который использует моя программа, она достигает 800 МБ. У меня есть 4 ГБ оперативной памяти на месте. Но еще до того, как программа завершит работу, она выдает исключение нехватки памяти. Почему это происходит? Это из-за структуры памяти или проблем с реализацией или что может вызвать эту проблему? Я видел эту проблему довольно много раз прежде, но никогда не понимал причину этого. Кто-нибудь из вас занимался этим делом раньше?
Обновить:
Программа, которую я пытаюсь запустить, здесь с пояснениями. Чтобы увеличить объем используемой памяти, я просто увеличиваю значение max_i
в основной функции.