U računarstvu, što je ulazna točka?

U računalima, ulazna točka je točka u programu, modulu ili funkciji gdje počinje kod; točnije, memorijska adresa na kojoj počinje. U programu je to prvi modul koda, ili čak prvi redak koda koji se izvršava. U programu koji je linearan, kao što je BASIC ili COBOL, ulazna točka doslovno je prvi redak koda. Kod zatim slijedi uzastopno sve dok se ne izvrši neka vrsta skoka ili poziva. U modularnom programiranju, kao što su sve varijante programskog jezika C, ulazna točka je početni modul. U C-u je ovo funkcija “Main()”.

U starijim programima i operativnim sustavima, program bi mogao imati više ulaznih točaka, ovisno o funkciji ili sustavu koji se izvršava. U većini modernih operacijskih sustava, uključujući Windows® i Unix, programi su napisani na jezicima koji podržavaju jednu ulaznu točku. Čak iu ranim danima modernog računalstva, jezici kao što je BASIC, iako imaju jednu ulaznu točku u program, mogli su podržavati “duge skokove”, gdje bi program mogao “skočiti” s jednog modula na ulaznu točku drugog modula neselektivno. To je potaknulo ono što se naziva “špageti kod”, koji je bilo teško održavati ili mijenjati.

Ulazna točka se možda čak i ne odnosi na ulaznu točku programa, ali može biti ulazna točka biblioteke dinamičke veze (DLL), koja je vrsta mini-programa koji se dijele u drugim programima. Jedan primjer je DLL koji kontrolira unos s tipkovnice. Bez obzira na vrstu programa, modula ili funkcije, ulazna točka je jedina točka u kojoj se obrađuju bića u tom dijelu koda. Ključ za razumijevanje bilo kojeg jezika ili modificiranja i podržavanja bilo kojeg programa leži u razumijevanju načina na koji je ulazna točka identificirana u tom specifičnom programu ili operativnom sustavu.

Koncept ulaznih točaka implementiran je kada je računalno programiranje napustilo potpuno linearne metode ranih dana. U to je vrijeme računalni program počinjao od prvog retka koda i nastavljao se red po red do kraja procesa. Ubrzo su programske konstrukcije poput petlje, uvjetnog grananja, rekurzije i druge stvorile programe koji su funkcionalno učinkovitiji, ali se obrada posvuda u kodu. Priroda ovih programa znači da može postojati mnogo redaka ili dijelova koda prije točke gdje obrada zapravo počinje. Iz tog razloga je stvorena i identificirana ulazna točka.

U C-u je ovo postala funkcija main(). Bez obzira na to gdje je ova funkcija postojala u kodu, tu je i započela obrada. U drugim jezicima ulazne točke se ne identificiraju samo po tome gdje se nalaze, već po tome gdje se ne nalaze. Početak programa može sadržavati odjeljke deklaracija varijabli i podrutina. Prvi redak koda koji slijedi nakon ovih područja ili funkcija, prema zadanim postavkama, postaje ulazna točka.