45992 (665299), страница 6
Текст из файла (страница 6)
стека │ │ │
автоматической │ │ │
памяти │ │ │ Свободное
│ │ > пространство
Пассивация │ │ │ памяти
│ ^ │ │ │
│ │ │ │ │
│ │ │ │ │
v │ └───────────────────┘ ─┘
Активация
При активации каждого нового объекта вершина стека "опускается вниз" на величину, определяемую размерами локальной среды этого объекта,- при его пассивации вершина стека "поднимается вверх". С использованием автоматической памяти связаны две основные проблемы: рекурсии и множественности ассоциаций.
Рекурсия - механизм, позволяющий объекту совершать самоактивац-ию. Например, по схеме:
W1-->W1 (прямая рекурсия)
или W1-->W2 ...-->W1 (косвенная рекурсия).
Прямая рекурсия связана с непосредственной повторной (вложенной) активацией, а косвенная - с опосредованной (причем число посредников в схеме W1-->...-->W1 может быть произвольным). Использование рекурсии напрямую связано с размерами рабочего пространства автоматической памяти. Использование рекурсивных активаций объектов, с одной стороны, позволяет иметь очень лаконичные и емкие по содержанию программы, с другой стороны, в рекурсивных схемах (особенно в косвенной рекурсии) возрастает вероятность появления трудно идентифицируемых ошибок.
Множественность ассоциаций заключается в том, что в классе автоматической памяти могут быть одновременно размещены несколько одноименных объектов, имеющих в общем случае различные значения и относящиеся к разным активностям одного и того же или опять-таки разных объектов. В приведенном примере существуют два одноименных объекта: переменная А, связанная (ассоциированная) с активностью W1, и переменная А, ассоциированная с активностью объекта W2. В соответствии с принципом стека система упpавления автоматической памятью всегда pассматpивает в качестве активной последнюю созданную ассоциацию (самую "ближнюю" к вершине стека автоматической памяти). Возникновение множественности ассоциаций обусловлено только использованием в прикладных программах одноименных переменных с различной областью действия (областью видимости). Если уж использование таких переменных и является необходимым (в чем всегда стоит усомниться), то при их интерпретации следует помнить о множественности ассоциаций.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄АБvГ ДqU Гm╜ ╛h╤ ¤e└ ╟bе ┬_ Z@ @@ -xо ├sч ■nФ йiз │d└ ╨_w" Ы"ZB# B#C#tj# k#mr# s#fа# б#_Ў# ў#X∙# ·#QН% w" Ы"ЇЇЇЇЇЇ
Н%О%tс& т&m=' >'fP' Q'_0( 1(X3( 4(Qq( w" Ы"ЇЇЇЇЇЇ
q((vк( ┤(q╗* ╩*l/+ N+gS+ T+`я+ ,[, 5,V0 Ї
0*0v51 X1qQ9 b9n; у;kO< T OA_AxyA ИAu▒B ╛BpЕC ЩCk▀C ьCfTD eDaУD жD\3J 3JCJv~J ЮJqWK sKlёL ўLgVN gNbhN iN_"O 2OZ+T +T;Tv 3c5ctУc Фcmf ffg ga▀g щg^ak ikYjkV╪k +T ╪k┘kt l #lo/m 0mh╓p ·pc]q nqaЧq │q_├q Zr]░t ВuZ777 Вupv zvv ТТtэТrмЧ ╦Чp╪Ч ┘ЧnєЧ √ЧlШ 4Шj6Ш `ШhbШ eШfgШ КШd7777777 КШМШ еШyжШ оШw╗Ш ┌Шu█Ш ▀ШsуШ Щq#Щ MЩoOЩ RЩm_Щ ЙЩkНЩ 7777777777НЩ╖Щy╣Щ ╝Щw═Щ ўЩuЪ 2Ъs4Ъ ^Ъq█Ы эЫl╫Э 'Юj-Ю .Юh6Ю 7Юf777777777ЮHЮ IЮyRЮ SЮw]Ю ^ЮuцЮ чЮsыЮ ЇЮq¤Ю ЯoЯ ЯmЯ XЯkZЯ 7777777777ZЯХЯyЧЯ ╥Яw╘Я аuа HаsJа Баqъл мl ▒ ╧▒ib┤ n┤fS╢ ZЯ 77777S╢_╢v"╣ A╣qt╣ П╣lp╝ ╝gу┼ х┼`╞ ╞Y╞ ╞Rb┤ ╞╞ ╞tУ╨ ж╨oЯ╪ ╗╪ju▌ Л▌e╬▌ ▐`Y▀ }▀[ф "фX "фAх [хxQц mцsнц ┬цn╪ш тшiшш Єшd#щ :щ_Bщ PщZы ы&ыvОы еыqбь вьo▒ь █ьm э Pёk~ёfzўdвў_\] ы 7676777 v\ c sF pK WmZ fj╠ ┌g+ Cb\ s]sъ vВ Мq└ сl= hg▀ !‑bk‑ Ж‑]а# ╢#Zь( ь(є(v5, N,tP, ?0rA0 у1pц1k@i#@d╦Bb┌B]^G[sGVь(676767777 sGНGyЧGt╙G Ho║Mm▀MhсMfуMaыM^?N ╪P\ЄPYСQ SWь(776767667 S:SvTtTo)T █Tm▄T сMfуMaыM^?N ╪P\ЄPYСQ SWь(776767676АГiЖW╔JсJуH╪P\ЄPYC B!7р< ‑Ё<"‑Ёуn:nlL_U]Г[р< ‑?C B!7рC B!7рГЕnЦkШiЪiЬiЮiаiвiB!7C< B!7рвдyжyиyкyмyоy╝l╜ B!7C B!7рC╜└i╧g╤eUcjcЦc cТcB!ICI uEu.u╥u═u‑ЁC?I ═Мy╬wOuпuБu7"cF$aз%aCC ‑ЁC?Cз%╫%y&yT&yf&yЯ&y▐&yр&y(y∙*y -y?C -?-y╢.yф0yН5yк9y▀:y;wу;uх;uC?C х;?yщ@y&AyУAy·ByлDyУGy▓HyхHyIy?C I IyNyЇSy╘Uy·Uy+Vy[VywVy+WyTWy?C TW Xy+XyэZyX[y[y╗[yт[y·[y,\y╫]y?C ╫] ^y=^y?^y&_yQ_yS_yay7dymgyBhy?C BhshyuhyHiykyкkyмky1lyNly}ly┤ly?C ┤lъlyлmy╥my╧ny·nyЗoy╕oyGpy[qy?C [q]qyЙqy├qy qy+ryXry█swУtw░tu?CG ░tВuyДuyvyJwyqwyЄyy╨zyЇzy({yA{yCC A{e{yk|yП|y╣|y╩|yЬ}yd~yЯ~yб~y┼yCC ┼tАyАy╖Аy┼Аy№АyБy#Бy)БyхБyуГyCC уГхГy ДwДw,Дw.ДwPДwЙДwлДwнДwGC нД╧ДyЕy(Еy*ЕyLЕy{ЕyШЕyпЕy╤ЕyЖyGG ЖЖyЖyеИwўКw Лw{ОwХПwуПwРwCG РРy┘Рy ┤У╞УyшФw2Чu4ЧuoЧsqЧsбЧs═ЧsШsGCIC Ш6ШygШyМШy░ШyуШy#Щy_ЩyНЩy═ЩyЪyIG Ъ4Ъy`ЪybЪyvЫwЫЬw┐ЬwьЬw*ЭwLЭwCG LЭ╒Эy╫Эy'ЮwрЮwЯwZЯwЧЯw╘ЯwаwGC аJаyГаyЕаy╖аw╣аwKвw7дwtдw░дwCG ░дщдyеyлеy█еyжy<зyBиyУиyсиy%йyCC %й[йy│йwєйubмsdмqЖмq╜мq╒мqнqCICIC нHнy|нyЙнyЛнy&пyЄ░y ▒w╧▒u╥▒uCIC?C ╥▒є▓y┤y9╢yP╕yТ╣y╗yв╝y╪╝y5╜y~┴y?C ~┴Ж├yИ├yн├yр├yў├yz╟yP╩y┤╩yй╦y▄╦y?C ▄╦╠y\╠yФ╠y╠╠y═y<═y1╬yю╬yЄ╧yв╤y?C в╤┤╤y╤╤y▐╤y╥y%╘yS╘yv╘yП╘yн╘y╦╘y?C ╦╘∙╘y╒y└╒п╓y▒╓y╩╓yф╓y╫y'╫yd╫yМ╫yЫ╫yи╫y?C и╫╛╪y-┘ye┘y╓┘w┌u#▌s6▐qO▐q|▐qCICIC |▐Я▐y▄▐y▀y▀y ▀y╒▀y нц╪чy2ъyhъyЎыy°ыyVьwБьwдьw Ўюяy яyяyяw╫яw∙яw+ЁwPЁw∙ЁwCG ∙Ё{Єy}ЄyЄyБЄyєy7єy\єy~єyЮєyїyCC ї@їy╡їyўyў°y∙y.∙y[∙yБ∙yд∙y╟∙yCC ╟∙у∙y√∙y0·ye·yЪ·y╧·y╤■yЇy2yZyCC ZЙyоy░y^yЪy┘y┤ y+ └ y)yUynyУy╦y"yFw?C F y yыy╡yрyy╛w╞u$‑uCIC $‑ф‑y&ydyc yf"yс)yу)y*y3*yo*yIC o*В*y╖*y╪*y+yU+yi+yд+y┘+y$,yIC $,&,y(,y*,yP,yv,yЫ,y▄,y-yR-yy-yIG y-а-y╟-yю-y).yb.yЙ.y░.y╫.y№.y!/yIG !/c/yг/y▄/y0y0wЙ1wx3wи3wс3wCG с3у3y╓6yc8ye8yЖ8yл8yщ8y9y+9ye9yCC e9g9yю ·CDyRDyTDyкHyмHy▌Hw IwQIwПIwGC ПI└IyёIy4JyrJyгJy╘JyKyBKyВKy┐KyGG ┐KЎKy-LydLyЫLyнLyуMw?NwiNwаNwCG аNвNy╪Py█Ty▄T ▌T CC╥═;L, C6КЛ$▒:╥═;L, C6КЛ$╨7▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄7 =жC п '└-▓4 ;A╔GN∙T ZР`jgjl╪r╡x~ОГКYР8Ц╠Ь0дэйепW╡╙╗@┬╞╚r╧З╘х╪а▐#хvыЄw°■0@ * e [ < ъ X A Г ╜ ] 2 z 9 ї ═ b ‑O ╞ !░ "% #q $╡ % & 'Б ( )P *о +0 ,н -M .└ /, 0? 19 2! 3x 4 56 6├ 7▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄=\T╢▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄=Б\TБ]T ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ (01/01/9412/03/93\T▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
w 1wq╫x яxlнy ├yg|z Иzd┼{ ▄{aF~ b~^BД BДDДydД eДwЭД ЯДu┴Д ├ДsуД фДqЕ Еo>Е @Еm`Е aЕkПЕ СЕi777777777СЕШЕ нЕy├Е ┼ЕwхЕ цЕuЖ ЖsЭЗ ║ЗnЙ ЙizЙ МЙdYЛ ПЕ СЕ7777YЛjЛv Л Мq┘М уМlшМ яМgшН ЄНbUО aО]Т ТVТ YЛ
Сy5СylСyэТy+УydУyИУy┤УyCC
рyOуyhфyнцyIC
эwGC
эDэyВэy┴эyюy?юy~юy╟юyтюyьюyЎюyGG
yZ
y└
yCC
Ё
y#
вшд5$X*┐1х7+>╘C-LЩR\T k B R u v [ U
i












