Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.07.2016, 11:02   #1
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию Delphi 7. Объем доступной памяти.

Хоть я уже далеко не студент и даже наоборот, можно чайницкий вопрос ?
Если не использовать динамические массивы - какой макс. доступный объем памяти можно использовать для массивов ? Причем речь не о макс. размере одного массива, а о суммарном объеме . По временам DOS смутно помню - 64к, т.е 1 16-битный сегмент данных; но времена меняются. Платформа 32-битная .
Провел эксперимент: 60000 double и 60000 integer мирно сосуществуют.

Последний раз редактировалось digitalis; 22.07.2016 в 11:12.
digitalis вне форума Ответить с цитированием
Старый 22.07.2016, 11:18   #2
Gregor
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 208
По умолчанию

Наверно вопрос нужно рассматривать по другому. Не какой размер массива а размер памяти под приложение.
http://www.viva64.com/ru/k/0036/
А к чему такой вопрос если не секрет?
интенсивно гуглю прежде чем задать вопрос
Gregor вне форума Ответить с цитированием
Старый 22.07.2016, 11:35   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Спасибо.
Это будет практически одно и то же, потому как объем кода - небольшой, а данных много. Вопрос вызван рецидивами DOS-овских (486-й проц ) опасений : 64k - код, 64k - данные, 64k - стек. О том, что в DOSе перестали работать еще до того, как большинство здешних форумцев родилось, грустно промолчим.
digitalis вне форума Ответить с цитированием
Старый 22.07.2016, 12:03   #4
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Размер стека максимум для локальных статических переменных. Размер стека можно менять в опциях проекта, но он тоже ограничен
0.jpg
Глобальные переменные уже в стеке не хранятся, так что там размер уже ограничен доступной оперативной памятью и ограничениями ОС
eoln вне форума Ответить с цитированием
Старый 22.07.2016, 12:10   #5
Gregor
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 208
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
объем кода - небольшой, а данных много.
а что за задачу решаете если не секрет ? может тогда подумать над деталями реализации
интенсивно гуглю прежде чем задать вопрос
Gregor вне форума Ответить с цитированием
Старый 22.07.2016, 22:17   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Да нет, с реализацией ни малейших проблем. Моделирование устройства с Пуассоновским потоком входного сигнала. Нужен достаточно длинный массив, чтобы отследить процесс на интервале хотя бы 2000с с шагом 1мс. Но это вовсе не значит, что нужен массив размером 2000000, все проще.
eoln, размер стека меня не напрягает, локальных перем. самая малость, глубина вложенности вызовов совсем небольшая.
digitalis вне форума Ответить с цитированием
Старый 23.07.2016, 09:11   #7
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

digitalis
А почему динамические массивы не хотите использовать?
Тестировать надо. Чисто теоретически под статические можно занять до 2Гб памяти.А вот динамические там сложнее. Из-за динамических библиотек которые разбросаны как непоподя. Часто память ферментирована и найти кусок более 512-700 мБ невозможно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 23.07.2016, 11:44   #8
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Дык мне и не надо больше! 1Мб - больше чем достаточно. Дин. массивы использовал, но если не нужны, то и без них хорошо.
digitalis вне форума Ответить с цитированием
Старый 27.10.2020, 12:02   #9
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

Народ, подскажите незнающему. Есть ли выгода от использования динамических массивов вместо статических? На что влияет их использование?
В программе очень часто приходится обращаться к нескольким массивам, вести расчёты, но при этом размер каждого массива не превышает 200 элементов.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 27.10.2020, 12:12   #10
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
Есть ли выгода от использования динамических массивов вместо статических?
Экономия памяти, если заранее неизвестно количество элементов. Статический массив придется объявлять с запасом, кроме того может возникнуть ситуация, что запаса не хватит. А размер динамического массива можно менять по ходу дела.
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объем оперативной памяти для выполнения exe файла Sallivan_Bidl C++ Builder 12 15.08.2015 15:45
Задача-найти объем оперативной памяти по шестнадцатеричному адресу последнего байта оперативной памяти Ksana Alex Помощь студентам 4 14.11.2013 15:51
Объем оперативной памяти Alexandr555 Win Api 9 07.10.2011 20:09
объем статической памяти Juffin Общие вопросы Delphi 1 10.11.2009 16:07
Размер доступной оперативной памяти xakzona Win Api 1 27.02.2009 12:25