Как обойти ограничение на размер массива?

Тема в разделе "LANGS.C", создана пользователем Magnum, 18 дек 2011.

  1. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    Использовать вектор смысла не вижу. Нужно именно инициализированный массив размером в 3 Гб.
    Можно ли как-то обойти ограничение студийного компилятора?
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Holy shit.
     
  3. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    За ограничение размера адресного пространства вкурсе.
    Можно конечно частями обрабатывать, можно как вектор оформить. Но задача такова, что смысла во всем этом нет.
    Ну и чисто спортивный интерес, можно или нет?
    ОС: х64
     
  4. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Magnum
    Даже если Вам удастся скомпилировать такого монстра, вряд ли система согласится загрузить образ размером более 2ГБ. Даже 64-битная.
     
  5. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    Жаль.
    Значит массив в файл и мэппинг частями.
     
  6. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    Объясните задачу-то. Может есть более гуманные способы.
     
  7. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    Booster
    Присоединяюсь!
     
  8. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    AsmGuru62
    Как представишь прогу на 3 гига, то по другому и не скажешь. ^)

    Magnum
    Чем динамический массив не устраивает? Тот же вектор?
     
  9. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    958
    гм. зациклил сейчас NtAllocateVirtualMemory (COMMIT+RESERVE) по 1 метру + сразуже запись всякой ерунды в этот метр. тачка убилась. х64 с 4 озу. не вм. сперва диспетчер задач показал полный загруз физпамяти а потом все просто перестало отвечать. всего за 3 секунды

    пс без записи она мне 14гигов зарезервировала в сумме. с записью тут уже винт не выдержал своппинга
     
  10. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
     
  11. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Что за задача - personal jesus что ли?

    Может просто из файла вычитать,
    непонятно только что быстрее будет: из файла или или если мапить?