+ Responder ao Tópico



  1. #1

    Exclamation Dúvida Tempo de Execução C++

    Boa tarde,

    Por que quando iniciamos um novo projeto em C++, adicionando os arquivos .h e .cpp de um projeto existente, o tempo de execução do novo projeto fica bem maior do que o tempo do projeto existente?

  2. #2

    Padrão

    Os arquivos .h (header), como o nome já diz, servem como cabeçalhos. na verdade para o compilador não acusar que o elemento não existe, por ser de arquivos / bibliotecas externas que só serão incluídas em no instante de compilação (que vem depois do parsing) ou execução caso seja biblioteca compartilhada.

    Se você compilou o "projeto existente" como um objeto estático ele irá incluir todo o seu código no seu projeto novo, o executável vai ficar maior e mais tempo de execução. Se você usar biblioteca compartilhada então ele só vai carregar em tempo de execução (a vantagem é que outros aplicativos podem usar a biblioteca e você pode atualizá-la independente do programa se continuar seguindo o mesmo padrão) porém ele vai carregar toda a biblioteca para a memória, então você pode acessar uma biblioteca compartilhada dinâmicamente ou seja, puchar só o método que você precisa daquela biblioteca e quando você precisar, depois descarrega, irá consumir menos memória e vai liberar quando não for mais utilizar.

    Qual dessas formas você está utilizando, visto que cada uma delas tem suas vantagens e desvantagens. Mas todas elas aumentarão o tempo de execução se levar em consideração o "projeto existente", mas não é algo consideravel.

    A[]'s