Trampolina (informatyka)

Trampolina w odniesieniu do technik programistycznych ma wiele znaczeń; najpopularniejsze z nich to:

  • W kompilatorze gcc termin trampolina odnosi się do procesu tworzenia wskaźników do zagnieżdżonych funkcji, które są jednym z oferowanych przez gcc rozszerzeń[1] języka C. Trampolina to kod tworzony na stosie wywołań procesu w momencie odwołania się do zagnieżdżonej funkcji (ang. nested function). Adres (wskaźnik do funkcji) trampoliny staje się tym samym adresem wywoływanej funkcji. Kod trampoliny umożliwia funkcji zagnieżdżonej dostęp do lokalnych zmiennych bieżącej funkcji.
  • Trampoliny to obszary pamięci przechowujące wskaźniki do procedur obsługi przerwań, I/O itp. Wykorzystywanie trampolin wynika z charakterystyki większości modeli programowych mikroprocesorów, które oczekują procedur obsługi sytuacji wyjątkowych w ściśle określonych obszarach pamięci.
  • Trampolina to także kod, który umożliwia pisanie funkcji rekurencyjnych, w językach bez rekurencji ogonowej, bez zużywania stosu[2].

Przypisy edytuj

  1. Nested Functions. Dokumentacja GCC. [dostęp 2021-11-14].
  2. Jakub T. Jankiewicz: Trampolina czyli rekurencja bez stosu. Głównie JavaScript, 2018-01-09. [dostęp 2021-11-14].