Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Выделение динамической памяти, Как выделить более 2гб памяти  (Прочитано 11862 раз)
0 Пользователей и 1 Гость смотрят эту тему.
IrSig
Гость
« : 15-05-2008 13:01 » 

malloc позволяет выделить память до 2-х Гб.
как выделить память больше, например, 8Гб? система debian, проц 32-х разрядный.
unix-админ включил опцию, позволяющую "эмулировать" 64-х разрядное адресное пространство, то есть теоретически система может выделить 8 Гб.
проблема видимо в с, а точнее в реализации функции malloc.
подскажите, пожалуйста. 
Записан
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #1 : 15-05-2008 13:22 » 

Код:
Gigabyte = 1024 * 1024 * 1024;
buffer = malloc(8 * Gigabyte);
memset(buffer, 0, SafeMul(8, 1024, 1024, 1024));
...
...
...
free(buffer);

только вот тут будь аккуратен  buffer = malloc(8 * Gigabyte);  Внимание! Говорит и показывает... так как может произойти переполнение Gigabyte -- должно быть нужного типа.
« Последнее редактирование: 15-05-2008 13:47 от McZim » Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #2 : 15-05-2008 13:47 » 

PooH, упс.
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 15-05-2008 17:32 » new

 а зачем столько ?
Может сразу в файле работать ?
Записан

Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #4 : 16-05-2008 04:50 » 

Я так понимаю имеется ввиду поддержка PAE
обрати внимание вот на это
http://en.wikipedia.org/wiki/Physical_Address_Extension
и посмотри ссылки вконце странички

насколько я понимаю, тебе к более 2GB придётся обращаться через окно, сам понимаешь указатель у тебя всё равно 32-х битный.

и действительно зачем так много памяти?
Записан

Странно всё это....
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #5 : 16-05-2008 05:06 » 

порылся в сети нашел пример использования и даже на русском Улыбаюсь
http://www.rsdn.ru/Forum/message/483755.flat.aspx
Записан

Странно всё это....
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines