C++ за 21 день седьмое издание


ПРИМЕЧАНИЕ Используя оператор return



Download 1,38 Mb.
bet107/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   103   104   105   106   107   108   109   110   ...   437
Bog'liq
word1

ПРИМЕЧАНИЕ

Используя оператор return, функция может возвратить только одно значение. Но если функция должна выполнять операции, затрагивающие много значений, которые необходимо вернуть вызывающей стороне, то передача аргументов по ссылке является единственным способом, позволяющим функции вернуть это множество модификаций назад вызывающей стороне.



Как процессор обрабатывает вызовы функций

Хотя и не чрезвычайно важно знать во всех подробностях, как вызов функции реали­ зуется на уровне процессора, понятие об этом все же стоит иметь. Это поможет понять, почему язык C++ позволяет создавать встраиваемые функции, которые рассматриваются в этом разделе позже.


Вызов функции, по существу, означает, что микропроцессор переходит к выполнению следующей инструкции, принадлежащ ей вызываемой функции, расположенной в обла­ сти памяти непоследовательно. После выполнения инструкций в функции выполнение возвращается туда, откуда был совершен переход. Для реализации этой логики компиля­ тор преобразует вызов функции в инструкцию процессора CALL, определяющую адрес следующей инструкции для выполнения, и этот адрес принадлежит вашей функции. При компиляции самой функции компилятор преобразует оператор r e t u r n в инструкцию про­ цессора RET.


Когда процессор встречает инструкцию CALL, он запоминает в стеке позицию инструк­ ции, которая будет выполнена после вызова функции, и переходит к области памяти, со­ державшейся в инструкции CALL.


Эта область памяти содерж ит инструкции, принадлеж ащ ие функции. П роцессор выполняет их до тех пор, пока не встретит инструкцию RET (код процессора для опе­ ратора r e t u r n в программе). И нструкция RET требует от процессора извлечь из стека адрес, сохраненный во время выполнения инструкции CALL. Это адрес области в вы­ зываю щ ей функции, откуда выполнение долж но продолжиться. Таким образом, про­ цессор возвращ ает выполнение вызываю щ ей стороне, и оно продолж ается оттуда, где было остановлено.



Как процессор обрабатывает вызовы функций


Download 1,38 Mb.

Do'stlaringiz bilan baham:
1   ...   103   104   105   106   107   108   109   110   ...   437




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish