Лекция 01. Тема Общая характеристика языков программирования высокого уровня


Механизм реализации моделей передачи параметров


Download 4.1 Mb.
Pdf ko'rish
bet39/57
Sana12.11.2023
Hajmi4.1 Mb.
#1767546
TuriЛекция
1   ...   35   36   37   38   39   40   41   42   ...   57
Bog'liq
Lektsii po YaP Lukinova 2 sem

4.4. Механизм реализации моделей передачи параметров 
Обмен параметрами при реализации описанных режимов и моделей 
происходит через стек выполняемой программы. Стек выполняемой 
программы инициализируется и поддерживается системой поддержки 
выполнения программ.
Параметры, передаваемые по значению, копируются в ячейки стека. Эти 
ячейки затем служат хранилищем для соответствующих формальных 
параметров. Передача параметров по результату реализуется как 
противоположность передаче параметров по значению. Значения, 
присвоенные фактическим параметрам, передаваемым по результату, 
помещаются в стек, откуда они могут быть извлечены вызывающим 


программным модулем после завершения работы вызванной подпрограммы. 
Передача параметров по значению и результату может быть реализована в 
соответствии со своей семантикой как комбинация передачи по значению и 
передачи по результату. Ячейка стека инициализируется вызовом и затем 
пользуется как локальная переменная в вызываемой подпрограмме.
Передача параметров по ссылке наиболее проста для реализации. 
Независимо от типа фактического параметра в стек должен помещаться лишь 
его адрес. Если параметр является выражением, то компилятор должен 
построить код для вычисления выражения непосредственно перед передачей 
управления в вызываемую подпрограмму. Адрес ячейки памяти, в которую 
код помещает результат своих вычислений, затем записывается в стек.
При передаче по ссылке может возникнуть следующая проблема. 
Допустим, 
что 
подпрограмма 
завершилась 
аварийно 
(возникла 
исключительная ситуация). В этом случае фактический параметр, 
передаваемый по значению и результату, не изменится, в то время как при 
передаче параметров по ссылке соответствующий фактический параметр 
может измениться до появления ошибки.
Описанный механизм демонстрирует рисунок 4.4. 

Рисунок 4.4 . Механизм работы стека.
 
Режим InOut 
Режим InOut 
Режим In 
Режим Out 
Режим InOut &
Режим InOut & 




main 
Значение 

Значение

Значение

&d 
стек 
ссылка на 
а 
присвоить 

ссылка на 
с 
присвоить 
с 
ссылка на 

proc f (a,b,c,d) 



Download 4.1 Mb.

Do'stlaringiz bilan baham:
1   ...   35   36   37   38   39   40   41   42   ...   57




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