>> geds: диапазон знакового 4-х битного числа (32 разряда) от -2147483648 до 2147483647, отсюда обычно "потолки" в 2 гигабайта и берут. однако ни кто не мешает использовать беззнаковые числа, в том-же 32-битном диапазоне - от 0 до 4294967295.
хз что он там "нахимичил", но выглюдит как-то странно. возможно проблема как раз в этом - не занимайся фигней проблем будет меньше. если комп (извиняюсь) "корыто", то "болид" из него в любом случае не сделаешь ни с какими ухищрениями, а если железо хотя-бы просто "нормальное", то и так все "летать" будет.
а по поводу 2 гига на процесс:
Спойлер! Чтобы прочитать скрытый текст, щелкните мышкой.
При разработке программного продукта для операционной системы семейства Windows необходимо помнить об ограничениях, накладываемых на размер данных, которые программа может объявлять и использовать. Windows накладывает на программы следующие 3 вида ограничений:
Статические данные. Ограничение накладывается на размер самого исходного кода программы и размер статически выделяемой памяти. В языке C++ такие данные обычно представлены переменными, объявленными на глобальном уровне вне процедур. Как для 32-битных, так и для 64-битных программ, ограничение на размер статически выделяемой памяти равно 2 GB.
Динамические данные. Это данные, память на которые динамически выделяется во время исполнения программы. В C++ такое выделение обычно осуществляется функцией malloc или оператором new. В 32-битных программах размер динамически выделяемой памяти ограничен 2 GB, в 64-битных — 8 TB.
Стековые данные. На них память выделяется при заходе в процедуру и освобождается при её завершении. Максимальный размер стека программы составляет 1 GB и для 32-битных, и для 64-битных приложений. (Размер стека задаётся линковщиком и по умолчанию составляет 1 MB)
У 32-битного приложения запущенного в 32-битной Windows суммарный размер всех перечисленных типов данных не должен превышать 2 GB. (Практически ограничение равно 1.75GB из-за требований к памяти самой операционной системы) 32-битная программа, собранная с ключом /LARGEADDRESSAWARE:YES может выделять до 3-х гигабайт памяти, если 32-битная операционная система Windows запущена с ключом /3gb. Эта же 32-битная программа, запущенная на 64-битной системе, может выделить почти 4 GB памяти (на практике около 3.5 GB).
з.ы. хр 32 - все работает без проблем и тормозов.
Сообщение отредактировал vxsw - 16.02.12 - 15:23