Полезно за вас: Речник | Игри | Новини | Фирми | Рецепти | Обяви
Начало на реферати

Работа с динамични блокове памет в многозначна среда


Информационни технологии | 2009-12-04 | 62 сваляния

29. Работа с динамични блокове памет в многозначна среда. Видове. Предимства на използването на собствени dynamic heaps в рамките на процес или нишка.


В 16 битова среда имаме локално и глобално адресно пространство.

При 32 битова среда поради линейното пространство няма локално и глобално адресно пространство, а то е едно(2GB потребителско адресно пространство)


Има 2 функции за работа с хипове:

- С++ функции MFC- по универсални

- с API функции на ОС специфични и когато се гони бързо действие и големи обеми.


Има 2 вида хип:

- автоматично зареждане на приложението(по подразбиране)

- динамично зареждане формиране на собствен потребителски хип.


Някои препоръки за работа със собствения хип:

* в рамките на своя клас се създава собствен хип, така че методите на класа да работят със собствения хип. Предимствата са:

- безопасност другата нишка да се намеси в хипа.

- до голяма степен се избягва фрагментацията.

*в С++ може да се предефинира New и Delete - чрез предефинирането на New може да се направи оптимално заделяне на памет. Схема реализираща предефинирането на New е следната:

1) проверява дали е заделен локален хип с New ако не е го заделяме.

2) заедно със създаването се задава и брояч на New и Delete.

3) заделя се необходимия брой байтове, които се заделени

4) инкрементираме брояча

Схема реализираща предефинирането на Delete е следната:

1) освобождава блока

2) декремнтира брояча

3) проверява ако е 0 унищожава handler към файла


Има функция heapwin за създаден вече (от нас) хип. Големите блокове алокират собствен хип и връщат указател към тях. За малки блокове използват памет от вече алокиран хип.

За големи блокове след интензивно използване на Delete трябва ни чести интервали за викане heapwin, който всъшност освобождава тези блокове от хипа.



33. Архитектура документ/изображение: клас на приложението и документ шаблон. Структура на шаблона, насочване на съобщения и списък от шаблони в MDI приложение.

Document Template(документен шаблон)

Такъв има всяко приложение. Той е различен в MDI и SDI. Прави връзка между ( при това само по 1) documentwestern" style="margin-bottom: 0in; text-align: justify"> Съдържа:

  • документен низ (7 полета),

nMy_appMy_appnnnMy_app.DocumentnMy_app Document

  • Иконата на изображението

  • Менюто при активно изображение.

SDI документния шаблон се създава още в InitInstanse():

CSingleDocTemplate * pDocTemplate;

PDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS( CMyDoc), RUNTIME_CLASS( CMainFrame), RUNTIME_CLASS( CMyView));

AddDocTemplate(pDocTemplate);

// следват редове за създаване обектите от шаблона, показване рамката и изгледа. Включва се цикълът за обр. съобщения, като съобщенията се разделят към обектите - приложение, рамка, изглед, документ, прозорец (command routing).

Ако създадем приложение и кажем че разширението е .авс, то след InitInstance(),Windows знае че след като кликнем на файла .авс тотрябва ад се стартира нашето приложение.

Насочването на съобстенията за обработка:

Командните съобщения се насочват първо към изгледа и после към документа (той обработва само командхите съобщения), след което ако няма обработка той отива в Template ако и там няма , отиват във Frame, aкo и там няма обработка отиват в Application(обекта приложение) и там ако няма отиват в default (обработват се по подразбиране)


Ако MDI има повече документи и изображения :


CWinApp Document Templates


Documet Template list

Работа с динамични блокове памет в многозначна среда

Добави своя коментар:



Тагове от реферата: , , , , , , ,

Изтегли в DOC | PDF | ZIP

Подобни материали


Прeдефиниране на операции Информационни технологии | 2010-11-18 | 43 прочитания
Появата и развитието на програмируемата логика Информационни технологии | 2010-11-18 | 73 прочитания
Наследяване Информационни технологии | 2010-11-18 | 31 прочитания
Диалогов процесор Информационни технологии | 2010-11-18 | 34 прочитания
Икономиката на съзнанието в глобалната мрежа Информационни технологии | 2010-11-18 | 43 прочитания
Общи процедури и функции във Visual Basic 6.0 Информационни технологии | 2010-11-18 | 183 прочитания
Изчертаване на електронни схеми Информационни технологии | 2010-11-18 | 46 прочитания
Основни сведения за ЕИМ програмно осигуряване, системни помощни програми Информационни технологии | 2010-11-18 | 62 прочитания
Клавиатура на компютъра Информационни технологии | 2010-11-18 | 58 прочитания
Управление на данните Информационни технологии | 2010-11-18 | 54 прочитания