Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Куча 11.12.01 22:19 Число просмотров: 1182
Автор: Heromantor Статус: Незарегистрированный пользователь
|
. В качестве продолжения
> этой мысли - программа на си (C++) (в любой ли ОС ?) > начинает > > выполняться не с функции main() или WinMain(), а с участка > программы, который производит "кое-что" и в том числе > производит > > инициализацию кучи, а затем уже вызывается одна из > названных функций.
Ну на самом-то деле до выполнения main() очень далеко от начала исполнения кода. Там инициализируеться все что только можно, не только "куча"
> 2. В заголовке экзешника (для DOS) есть участок содержащий > максимальную и минимальную необходимую память программе. По > > умолчанию компилятором (ассемблера) в "максимальную" часть > записывается значение, заставляющее систему отдавать > программе всю > > свободную ОЗУ (непрерывный участок ОЗУ) (комовская > программа пользуется таким "провом" автоматически) ,- по > этой причине > > проблематично выполнять две и более пользовательские > (программерские) программы одновременно или запрашивать > дополнительную > > память /int 48/ (речь идет о DOS). В данном случае "этот" > ("максимальный") участок памяти (он располагается > непосредственно > > за программой и простирается до первого встреченного блока > управления памятью) фактически тоже является кучей, одннако > > программа на ассемблере об этом не знает и в пустую > расходует память. В случае программы на си (BC++ 3.0) > происходит > > следующая фича - в случае малой модели памяти куча > формируется между стеком и исполняемым модулем (данные и > код), а для > > остальных моделей - за программой ,- в данном случае куча > контролируется библиотечными функциями си. > > > Это костяк, который я прошу прокоментировать и дополнить > (по существу). > ЗЫ: Есть ли в сети где-нибудь "ЭНЦИКЛОПЕДИЯ DOS 6/x" (3.0 - > я нашел) или может быть где-то еще продается такой раритет > ?
Причем тут заголовок EXE и куча вообще, теоритически загрузчик должен читать это поле и если объем доступной памяти меньше чем там указано то он пишет что-то вроде: "Недочтаочно памяти" или в этом роде, загрузчик не выделяет память для программы
|
- Куча - TROi 11.12.01 21:51 [571] [штраф:10]
|
|
|