#0
by H A D G E H O G s
Дня доброго. Вот есть процесс (1С), которому задали размер стека в 1 мегабайт (пусть будет все по человечьи). Вопрос - каждый раз, подгружая новые dll-ки - они будут расходовать эту стековую память? Или для каждой новой dll-ки будет выделена отдельная область виртуальной памяти для размещения своего стека? Пните в faq, пжлст.
#1
by H A D G E H O G s
И еще вопрос. Вот есть у меня процедура procedure Test var end; 50 кбайт памяти стека будет занято: 1) Сразу после загрузки программы? 2) В момент выполнения процедуры?
#2
by Serginio1
Стек используется при входе в роцедуру и освобождается после выхода. Вернее просто передвигается указатель начала стека
#5
by H A D G E H O G s
Это для параметров функции (если не fastcall) и адреса возврата. Но я счаст проверю практически, это просто.
#7
by Serginio1
FastCall это другое Память для глобальных переменных выделяется в сегменте данных приложения и освобождается при его завершении. Локальные переменные живут в стеке (stack). Каждый раз при вызове процедур или функций для них выделяется память, которая освобождается при выходе из процедуры или функции, хотя оптимизация компилятора может их уничтожить гораздо раньше. Стек приложения определяется двумя значениями: минимальным и максимальным размером. Эти значения задаются директивами компилятора $MINSTACKSIZE (по умолчанию - 16 384 байта) и $MAXSTACKSIZE (по умолчанию - 1 048 576 байт). Винда сообщит об ошибке, если она не сможет при запуске приложения предоставить ему минимальный размер памяти для стека. Если приложению требуется больше стековой памяти, чем указано в $MINSTACKSIZE, то она выделяется блоками по 4 Kb. Если очередное выделение памяти обламывается, то ли потому, что памяти больше нет, то ли потому, что суммарный объём запрошенной стековой памяти превысил $MAXSTACKSIZE, генерится эксепшн: EstackOverflow, причём контроль переполнения стека является полностью автоматическим, директива $S, когда-то позволявшая его отключить, оставлена только для совместимости с предыдущими версиями.
#8
by vde69
Дмитрий вроде на дельфях пишет, а там многое зависит от модели компиляции, а точнее используется - ли паскалевская виртуальная среда или компелится без нее (как с++), в среде там контроль за стеком отведен среде, но его можно заоверлочить прямыми операциями с памятью.... в то время как винда "честный" стек не дает оверлочить.....
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Ошибка v7plus.dll & autosalon.dll
- Управление торговлей 10.2 вместе с scanopos.dll, scaner1c.dll и USB сканером
- v8: ЗУП. код вычета 503 , размер вычета 4000 , данные в регистре размер вычетов есть, но..
- Контролировать число дней задолженности в Договоре контрагента УТ
- Чем грозит замена odbcbcp.dll, sqlsrv32.dll, sqlsrv32.dll, в Win7 ?
- Печать ярлычков - как предсказать размер шрифта чтобы влезло в размер ячейки?
- v7: Нужны библиотеки seven.dll и DBEng32.dll
- Посоветуйте, как в РИБ контролировать удаление?
- v7: Как посмотреть какие объекты может создавать данная версия 1cpp.dll, formex.dll
- Как определить "Размер файла на диске", а не просто "Размер файла"?
В этой группе 1С
- как обновить конфигурацию поставщика
- При проверке выгрузки декларации НДС ругается на ИНН/КПП
- v7: Налоговые агенты и Декларация НДС2015 -передача через Такском не идет
- В отчет на СКД в подвале вывести информацию
- подскажите как перенести точку актуальности в УПП без перепроведения док-ов
- ПТиУ есть позиции с НДС и без НДС. СФ пред-на на поз. с НДС.
- Эмуляция внешнего события
- Как при изменении одного реквизита Т.Ч. присвоить вид другому
- Ошибка при выполнении запроса GET к ресурсу /e1cib/types
- Книга продаж с минусом
- Загрузка иерархического справочника
- Не попадет счета - фактуры в книгу покупок, БП 2.0.
- Обращение к сис.админу
- Написание обработки импорта номенклатуры из xml в 1с
- Декларацию по НДС из БП30 в СБИС кто знает как ?
- Соединение с mySQL через SSH по ODBC
- Не заполняется код ОКТМО в декларации НДС, хотя в карточке организации он указан
- Счета-фактуры физлицам, отсутствие ИНН
- v7: Эмулятор фискального регистратора
- Не запускается 1с 8.2 после обновления конфигурации.