Kaj je v računalništvu vstopna točka?

V računalnikih je vstopna točka točka v programu, modulu ali funkciji, kjer se koda začne; natančneje naslov pomnilnika, kjer se začne. V programu je to prvi modul kode ali celo prva vrstica kode, ki se izvaja. V programu, ki je linearen, kot je BASIC ali COBOL, je vstopna točka dobesedno prva vrstica kode. Koda nato sledi zaporedno, dokler se ne izvede nekakšen skok ali klic. Pri modularnem programiranju, kot so vse različice programskega jezika C, je vstopna točka začetni modul. V C je to funkcija “Main()”.

V starejših programih in operacijskih sistemih bi lahko imel program več vstopnih točk, odvisno od funkcije ali sistema, ki se izvaja. V večini sodobnih operacijskih sistemov, vključno z Windows® in Unixom, so programi napisani v jezikih, ki podpirajo eno samo vstopno točko. Tudi v zgodnjih dneh sodobnega računalništva so lahko jeziki, kot je BASIC, čeprav imajo eno samo vstopno točko v program, podpirali “dolge skoke”, kjer bi lahko program neselektivno “skakal” z enega modula na vstopno točko drugega modula. To je spodbudilo tisto, kar se imenuje “špageti koda”, ki jo je bilo težko vzdrževati ali spreminjati.

Vhodna točka se morda niti ne nanaša na vstopno točko programa, ampak je lahko vstopna točka knjižnice dinamičnih povezav (DLL), ki so nekakšni mini programi, ki so v skupni rabi z drugimi programi. En primer je DLL, ki nadzoruje vnos s tipkovnice. Ne glede na vrsto programa, modula ali funkcije je vstopna točka ena sama točka, na kateri se obdelujejo bitja v tem delu kode. Ključ do razumevanja katerega koli jezika ali spreminjanja in podpore katerega koli programa je v razumevanju, kako je vstopna točka identificirana v določenem programu ali operacijskem sistemu.

Koncept vstopnih točk je bil implementiran, ko je računalniško programiranje zapustilo popolnoma linearne metode prvih dni. V tistih časih se je računalniški program začel v prvi vrstici kode in nadaljeval eno vrstico naenkrat do konca procesa. Kmalu so programske konstrukcije, kot so zanka, pogojno razvejanje, rekurzija in druge, ustvarile programe, ki so bili funkcionalno učinkovitejši, vendar je obdelava odskočila povsod znotraj kode. Narava teh programov pomeni, da je lahko pred točko, kjer se obdelava dejansko začne, veliko vrstic ali odsekov kode. Zaradi tega je bila ustvarjena in identificirana vstopna točka.

V C je to postala funkcija main(). Ne glede na to, kje je ta funkcija obstajala v kodi, se je obdelava začela tam. V drugih jezikih se vstopne točke ne identificirajo toliko po tem, kje so, ampak po tem, kje niso. Začetek programa lahko vsebuje odseke deklaracij spremenljivk in podrutin. Prva vrstica kode, ki sledi tem področjem ali funkcijam, privzeto postane vstopna točka.