W informatyce jaki jest punkt wejścia?
W komputerach punktem wejścia jest punkt w programie, module lub funkcji, w którym zaczyna się kod; w szczególności adres pamięci, od którego się zaczyna. W programie jest to pierwszy moduł kodu, a nawet pierwszy wiersz kodu, który jest wykonywany. W programie liniowym, takim jak BASIC lub COBOL, punkt wejścia dosłownie jest pierwszym wierszem kodu. Następnie kod podąża kolejno, aż do wykonania jakiegoś skoku lub wywołania. W programowaniu modułowym, takim jak wszystkie warianty języka programowania C, punktem wejścia jest moduł początkowy. W C jest to funkcja „Main ()”.
W starszych programach i systemach operacyjnych program może mieć wiele punktów wejścia, w zależności od wykonywanej funkcji lub systemu. W większości nowoczesnych systemów operacyjnych, w tym Windows® i Unix, programy są pisane w językach obsługujących jeden punkt wejścia. Nawet we wczesnych czasach współczesnych komputerów, języki takie jak BASIC, choć mają pojedynczy punkt wejścia do programu, mogą obsługiwać „długie skoki”, w których program może „przeskakiwać” z jednego modułu do punktu wejścia innego modułu bez rozróżnienia. Zachęcało to tak zwany „kod spaghetti”, który był trudny do utrzymania lub modyfikacji.
Punkt wejścia może nawet nie odnosić się do punktu wejścia programu, ale może być punktem wejścia biblioteki DLL (Dynamic Link Library), które są rodzajem miniprogramów, które są współużytkowane przez inne programy. Biblioteka DLL, która kontroluje wprowadzanie danych z klawiatury, jest jednym z przykładów. Niezależnie od rodzaju programu, modułu lub funkcji punktem wejścia jest pojedynczy punkt, w którym przetwarzane są istoty w tym fragmencie kodu. Kluczem do zrozumienia dowolnego języka lub modyfikacji i wsparcia dowolnego programu jest zrozumienie, w jaki sposób punkt wejścia jest identyfikowany w tym konkretnym programie lub systemie operacyjnym.
Koncepcja punktów wejścia została wdrożona, gdy programowanie komputerowe opuściło całkowicie liniowe metody pierwszych dni. W tamtych czasach program komputerowy zaczynał się od pierwszego wiersza kodu i przechodził jeden wiersz naraz do końca procesu. Wkrótce konstrukcje programistyczne, takie jak zapętlanie, rozgałęzianie warunkowe, rekurencja i inne, stworzyły programy, które były funkcjonalnie bardziej wydajne, ale przetwarzanie odbijało się w całym kodzie. Charakter tych programów oznacza, że może istnieć wiele linii lub sekcji kodu przed punktem, w którym przetwarzanie faktycznie się rozpoczyna. Z tego powodu punkt wejścia został utworzony i zidentyfikowany.
W C stała się to funkcją main (). Niezależnie od tego, gdzie ta funkcja istniała w kodzie, to właśnie tam zaczęło się przetwarzanie. W innych językach punkty wejścia nie są identyfikowane przez tyle, ile są, ale przez to, gdzie nie są. Początek programu może zawierać sekcje deklaracji zmiennych i podprogramów. Pierwszy wiersz kodu następujący po tych obszarach lub funkcjach staje się domyślnie punktem wejścia.