Программная инженерия Нижний Новгород 017 Лабораторный


Download 1.23 Mb.
Pdf ko'rish
bet63/87
Sana08.06.2023
Hajmi1.23 Mb.
#1463900
TuriУчебно-методическое пособие
1   ...   59   60   61   62   63   64   65   66   ...   87
Bog'liq
Pract ADS

InitMemSystem класса TTextLink. В этом методе выделяется память для хранения текстов. 
Указатель pFirst устанавливается на начало этого массива (после приведения типа к типу 
указателя на звено), указатель pLast на последний элемент массива. Далее этот массив 
размечается как список свободных звеньев, в самом начале работы список свободных звеньев 
может быть упорядочен по памяти.
Для выделения памяти под звено перегружается оператор new, который выделяет новое 
звено из списка свободных звеньев. При освобождении звена в перегруженном операторе 
delete происходит возвращение памяти в список свободных звеньев. 
Алгоритм «сборки мусора» состоит из трех этапов. На первом этапе происходит обход 
текста и маркирование звеньев текста специальными символами (например, «&&&»). На 
втором этапе происходит обход и маркирование списка свободных звеньев. На третьем этапе 
происходит проход по всему непрерывному участку памяти как по непрерывному набору 
звеньев. Если звено промаркировано, то маркер снимается. В противном случае, найдено 
звено, на которое нет ссылок («мусор»), и это звено возвращается в список свободных звеньев. 
3. Разработка программного комплекса 
3.1. Структура 
С учетом рассмотернных выше предложений к реализации целесообразной 
представляется следующая модульная структура программы: 

TTextLink.h, TTextLink.cpp – модуль с классом для звена текста; 

TText.h, TText.cpp – модуль с классом, реализующим операции над текстом; 

TTextViewer.h, TTextViewer.cpp – модуль с классом, реализующим визуализацию текста; 

TTextUsercom.h, TTextUsercom.cpp – модуль с классом, обеспечивающий диалоговое 
взаимодействие с пользователем; 

TTextTestkit.cpp – модуль программы тестирования. 


 
74 

Download 1.23 Mb.

Do'stlaringiz bilan baham:
1   ...   59   60   61   62   63   64   65   66   ...   87




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling