Thread: Entry Point

Results 1 to 3 of 3
  1. #1
    Decoder Member's Avatar
    Join Date
    Apr 2011
    Gender
    male
    Location
    Bullet For My Valentine
    Posts
    134
    Reputation
    10
    Thanks
    31
    My Mood
    Psychedelic

    Post Entry Point

    Olá, achei um tutorial que o Park II passo, e vo postar pra vocês, ele ensina a char o desvio Entry Point.

    A função main() é a função principal de um programa. Ou seja, todo programa tem que ter a função main(), caso contrário o compilador reclama e não gera o executável.Um programa começa executando a função main() e termina quando a função main() termina. Porém, dentro da função main() você pode chamar (executar) outras funções. Falaremos mais sobre o main() adiante.O ponto inicial de execução do programa é chamado de "entry point", logo, a função main() é o entry point de qualquer programa escrito na linguagem C.Ela pode retornar um valor de tipo int. Ou seja, retorna um número, em geral para o sistema operacional, com o código de sucesso ou indicando qual o erro (número do erro) ocorreu durante a execução do programa. O número de erro retornado pelo main() é conhecido pelos programadores como o "condition code".A função main() pode ter as seguintes estruturas:

    int main()

    int main (int argc , char *argv[])As estruturas acima são as mais aceitas como padrão. Adicionalmente, muitos compiladores aceitam o tipo de retorno do main() omitido (ou seja, o "int" seria desnecessário) ou como "
    void
    " (sem tipo), mas as construções da lista acima são mais recomendadas para maior portabilidade (capacidade de rodar/compilar seu programa em diversas plataformas).A função main() aceita dois argumentos (parâmetros entre parênteses). Eles são parâmetros passados pelo sistema operacional quando os programas são ativados. Por exemplo, no terminal de comando do Linux você pode digitar o comando
    ls-l
    . Nesse caso, o
    ls
    seria o nome do programa e o
    -l
    seria o parâmetro que o sistema operacional repassará para o programa fazer o devido tratamento. Os parâmetros do main() representam esses argumentos.Veja abaixo para uma breve descrição desses parâmetros:

    argc
    : é do tipo inteiro (numeral). Indica a quantidade de argumentos que foram repassados pelo sistema operacional, ou seja, indica a quantidade de elementos contidos no vetor
    argv
    . Seu valor é sempre maior ou igual à 1 (um), pois o próprio nome do programa compilado é considerado como um argumento.

    argv
    : é um vetor de strings (string é uma palavra ou um conjunto de letras/caracteres). Eles contêm todos os argumentos repassados pelo sistema operacional. O primeiro elemento (o elemento 0 - zero) é sempre o nome do próprio programa executável.Esses parâmetros são úteis para fazer um programa que opere de forma distinta dependendo do que o usuário tem passado no terminal de comando. Ainda não se preocupe muito com o uso correto desses parâmetros. Como eles usam vetores (conceito ainda não explicado detalhadamente), você não tem a obrigação de saber utilizá-los neste momento. Basta saber que um mecanismo tão útil já existe na linguagem C.
    Last edited by Decoder Member; 04-21-2011 at 09:23 AM.

  2. #2
    Ninguém pode ser perfeito, mas todos podem ser melhores
    MPGH Member
    ParkII's Avatar
    Join Date
    Mar 2011
    Gender
    male
    Location
    Andressa's Heart
    Posts
    1,379
    Reputation
    61
    Thanks
    408
    My Mood
    Yeehaw
    Disso todo mundo ja sabe ... O phoda e mudar as config do compilador :X

    My name is ParkII and not LinkII
    Last edited by ParkII; 04-21-2011 at 09:08 AM.

  3. The Following User Says Thank You to ParkII For This Useful Post:

    ViniciusD7 (04-21-2011)

  4. #3
    Decoder Member's Avatar
    Join Date
    Apr 2011
    Gender
    male
    Location
    Bullet For My Valentine
    Posts
    134
    Reputation
    10
    Thanks
    31
    My Mood
    Psychedelic
    Quote Originally Posted by ParkII View Post
    Disso todo mundo ja sabe ... O phoda e mudar as config do compilador :X

    My name is ParkII and not LinkII
    //Eu estou postando isso para quem não sabe nem o começo ainda...
    //Já mudei seu nome