În informatică, ce este un punct de intrare?

În computere, un punct de intrare este punctul dintr-un program, modul sau funcție în care începe codul; în special, adresa de memorie de unde începe. Într-un program, este primul modul de cod sau chiar prima linie de cod care este executată. Într-un program liniar, cum ar fi BASIC sau COBOL, punctul de intrare este literalmente prima linie de cod. Codul urmează apoi secvenţial până când se execută un fel de salt sau apel. În programarea modulară, cum ar fi toate variantele limbajului de programare C, punctul de intrare este modulul de început. În C, aceasta este funcția „Main()”.

În programele și sistemele de operare mai vechi, un program putea avea mai multe puncte de intrare, în funcție de funcția sau sistemul care a fost executat. În majoritatea sistemelor de operare moderne, inclusiv Windows® și Unix, programele sunt scrise în limbi care acceptă un singur punct de intrare. Chiar și în primele zile ale calculului modern, limbaje precum BASIC, deși au un singur punct de intrare în program, ar putea accepta „sărituri lungi”, în care programul ar putea „sări” de la un modul la punctul de intrare al altui modul fără discernământ. Acest lucru încurajat a fost ceea ce a numit „codul spaghetelor”, care era greu de menținut sau modificat.

Un punct de intrare s-ar putea să nu se refere nici măcar la punctul de intrare al unui program, dar poate fi punctul de intrare al unei biblioteci de linkuri dinamice (DLL), care sunt un fel de mini-programe care sunt partajate cu alte programe. Un DLL care controlează introducerea de la tastatură este un exemplu. Indiferent de tipul de program, modul sau funcție, punctul de intrare este singurul punct în care procesează ființele din acea bucată de cod. Cheia pentru înțelegerea oricărei limbi sau modificarea și susținerea oricărui program constă în înțelegerea modului în care este identificat punctul de intrare în acel program sau sistem de operare specific.

Conceptul de puncte de intrare a fost implementat atunci când programarea computerelor a părăsit metodele complet liniare din primele zile. În acele vremuri, un program de calculator începea pe prima linie de cod și continua pe rând până la sfârșitul procesului. Curând, constructele de programare cum ar fi bucla, ramificarea condiționată, recursiunea și altele au creat programe care erau mai eficiente din punct de vedere funcțional, dar procesarea a revenit peste tot în cod. Natura acestor programe înseamnă că ar putea exista multe linii sau secțiuni de cod înainte de punctul în care începe de fapt procesarea. Din acest motiv, punctul de intrare a fost creat și identificat.

În C, aceasta a devenit funcția main(). Indiferent de unde a existat această funcție în cod, acolo a început procesarea. În alte limbi, punctele de intrare nu sunt identificate în funcție de locul în care se află, ci de locul în care nu sunt. Începutul programului poate conține secțiuni de declarații de variabile și sub-rutine. Prima linie de cod care urmează aceste zone sau funcții, implicit, devine punctul de intrare.