Em computação, o que é um ponto de entrada?
Nos computadores, um ponto de entrada é o ponto em um programa, módulo ou função em que o código começa; especificamente, o endereço de memória onde começa. Em um programa, é o primeiro módulo de código, ou mesmo a primeira linha de código que é executada. Em um programa linear, como BASIC ou COBOL, o ponto de entrada literalmente é a primeira linha de código. O código segue sequencialmente até que algum tipo de salto ou chamada seja executado. Na programação modular, como todas as variantes da linguagem de programação C, o ponto de entrada é o módulo inicial. Em C, esta é a função "Principal ()".
Em programas e sistemas operacionais mais antigos, um programa poderia ter vários pontos de entrada, dependendo da função ou sistema que estava sendo executado. Na maioria dos sistemas operacionais modernos, incluindo Windows® e Unix, os programas são escritos em idiomas que suportam um único ponto de entrada. Mesmo nos primórdios da computação moderna, linguagens como o BASIC, embora tenham um único ponto de entrada para o programa, podem suportar "saltos longos", onde o programa pode "pular" de um módulo para o ponto de entrada de outro módulo indiscriminadamente. Isso foi o que chamou de "código de espaguete", difícil de manter ou modificar.
Um ponto de entrada pode nem se referir ao ponto de entrada de um programa, mas pode ser o ponto de entrada de uma DLL (Dynamic Link Library), que são tipos de miniprogramas compartilhados por outros programas. Uma DLL que controla a entrada do teclado é um exemplo. Independentemente do tipo de programa, módulo ou função, o ponto de entrada é o ponto único no qual os seres processados nesse trecho de código. A chave para entender qualquer idioma ou modificar e dar suporte a qualquer programa está em entender como o ponto de entrada é identificado nesse programa ou sistema operacional específico.
O conceito de pontos de entrada foi implementado quando a programação de computadores deixou os métodos completamente lineares dos primeiros dias. Naqueles tempos, um programa de computador começava na primeira linha de código e prosseguia uma linha de cada vez até o final do processo. Em breve, construções de programação como loop, ramificação condicional, recursão e outros criaram programas funcionalmente mais eficientes, mas o processamento saltou em todo o lugar no código. A natureza desses programas significa que pode haver muitas linhas ou seções de código antes do ponto em que o processamento realmente começa. Por esse motivo, o ponto de entrada foi criado e identificado.
Em C, essa se tornou a função main (). Independentemente de onde essa função existisse no código, foi aí que o processamento começou. Em outros idiomas, os pontos de entrada não são identificados tanto quanto onde estão, mas por onde não estão. O início do programa pode conter seções de declarações e sub-rotinas variáveis. A primeira linha de código após essas áreas ou funções, por padrão, se torna o ponto de entrada.