Руководство по языку B.Pascal 7

       

Описания inline


Директивы inline позволяют записывать вместо блока операто- ров инструкции в машинном коде. При вызове обычной процедуры ком- пилятор создает код, в котором параметры процедуры помещаются в стек, а затем для вызова процедуры генерируется инструкция CАLL.

------------------ директива inline -->¦ оператор inline +----------> L------------------

Когда вы вызываете подставляемую процедуру (inline), компи- лятор генерирует код с помощью директивы inline, а не с помощью инструкции CALL. Таким образом, поставляемая процедура "расширя- ется" при каждом обращении к ней, аналогично макроинструкции на языке ассемблера. Приведем два небольших примера подставляемых процедур:

procedure DisableInterrupts: inline($FA); { CLI } procedure EnableInterrupts; inline($FB); { STI }

Примечание: Синтаксические диаграммы оператора inline описаны подробно в Главе 25.



Содержание раздела