Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Почему программа в Windows может использовать лишь 1792 мегабайта RAM? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с файлами http://www.cyberforum.ru/cpp-beginners/thread416697.html
написал класс fail для чтения из файла class fail { public: fail( int = 0, string = "" ); void setNom( int nomValue ); void setStr( string strValue );
C++ Не получается кое-что Суть программы заключается в следующем. Я динамически выделяю память под двухмерный массив, прошу пользователя написать , какого порядка он хочет видеть матрицы и собственно создаю матрицу. Затем я... http://www.cyberforum.ru/cpp-beginners/thread416691.html
структуру классов! не могу разобраться!!! C++
вопрос такой: _-Можно ли создавать, рисовать и удалять объекты не зная их конкретный тип и что для этого необходимо. Используйте это в примере и объясните.-_ вот фрагмент кода: main.cpp...
C++ Описать класс «Монитор»
Описать класс «Монитор», имеющий закрытые атрибуты для хранения марки, диагонали и гарантийного срока монитора и два конструктора: без параметров и с параметрами по умолчанию. Привести пример...
C++ Нахождение угла численным интегрированием угловой скорости http://www.cyberforum.ru/cpp-beginners/thread416684.html
Здравствуйте. Знаем угловую скорость, нужно с помощью численного интегрирования найти угол. Программа для шагового двигателя, так что угловая скорость меняется. Кто-нибудь сталкивался с этим или...
C++ матрица.функции Дана матрица X и массив Y.написать программу которая вычисляет массив Z состоящий из элементов X,расположенных между максимальным четным и первым нечетным элемнтами каждой строки,если оба эти... подробнее

Показать сообщение отдельно
ledkets
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 25

Почему программа в Windows может использовать лишь 1792 мегабайта RAM? - C++

25.12.2011, 00:21. Просмотров 658. Ответов 4
Метки (Все метки)

Простейшая программа, для того чтобы узнать сколько памяти можно использовать в системе.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
    unsigned int bit=0x40000000, sum=0;
    char *x;
 
    while (bit > 4096) 
    {
        x = (char*)malloc(bit);
        if (x)
            sum += bit;
        bit >>= 1;
    }
    printf("%08x bytes (%.1fMb)\n", sum, sum/1024.0/1024.0);
    return 0;
}
При выполнении программа выводит на экран число 1792.
Запускал в 32-битной WindowXP с 4 Гб RAM
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru