Inline (programowanie)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Inline w programowaniu, to słowo identyfikujące deklarację tak zwanej funkcji otwartej[1] lub podprogramu wewnętrznego[2]. Autorzy języków programowania stosują tę konstrukcję w dwojakim znaczeniu:

modyfikatora w deklaracji 
który określa, iż właśnie definiowana funkcja jest funkcją otwartą[1] (tzw. funkcją inline); zostanie ona skompilowana tak jak każda inna funkcja i będzie przechowywana w pamięci (można do niej odnosić się za pomocą wskaźników), ale jeżeli nastąpi wywołanie takiej funkcji, to kompilator zamiast wygenerować w tym miejscu przeniesienie sterowania do tej funkcji, wstawi wygenerowany kod tej funkcji, np. C99, C++[1], makroasemblery,
Wikibooks-logo.svg
Zobacz publikację na Wikibooks:
C++/Funkcje inline

Przykład w języku C++[1]:

inline long isqr(int a, int b)
{
   return a*b;
}
 
inline double Maxd(double a, b)
  { return a>b ? a : b; }
dyrektywy języka 
umożliwiającej programowanie hybrydowejęzyk programowania wysokiego poziomu z językiem maszynowym; w dyrektywie takiej umieszcza się kod maszynowy, sama dyrektywa może występować jako instrukcja, w ciągu innych instrukcji (instrukcja kodu maszynowego), bądź jako ciało podprogramu (tzw. podprogram wewnętrzny[2]) w jego definicji, jeżeli cały podprogram definiowany jest w kodzie źródłowym wyłącznie za pomocą języka maszynowego, np. kompilatory serii Turbo firmy Borland, w tym między innymi Turbo/Borland Pascal[2].

Przykład w Turbo Pascalu[2]:

function size_m: integer;
  inline($CD/$12/$89/$46/$04);
 
procedure idf(parametry);
begin
  ...
  inline(kod_maszynowy);
  ...
end;

Przypisy

  1. 1,0 1,1 1,2 1,3 Jan Bielecki: Od C do C++, programowanie obiektowe w języku C. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990. ISBN 83-204-1332-X. (pol.)
  2. 2,0 2,1 2,2 2,3 Andrzej Marciniak: Borland Pascal 7.0. Poznań: Nakom, 1994, seria: Biblioteka Użytkownika Mikrokomputerów. ISSN 0867-6011. ISBN 83-85060-53-7. (pol.)