Pergunta

Eu vim recentemente através de uma situação onde o código está a carregar dinamicamente algumas bibliotecas, fiação-los para cima, em seguida, chamar o que é denominado o "ponto de entrada do aplicativo" (uma das bibliotecas deve implementar IApplication.Run ()).

Este é um "ponto de entrada appliation" válido?

Eu sempre ter considerado o ponto de entrada do aplicativo para ser antes do carregamento das bibliotecas e encontrou o IApplication.Run () ser chamado depois de uma quantidade considerável de trabalho um pouco enganador.

Foi útil?

Solução

A aplicação termos e sistema são termos que são tão ampla e diversamente usado que você precisa concordar que eles adiantado média com o seu parceiro de conversa. Por exemplo. Às vezes, um aplicativo é algo com uma interface do usuário, e um sistema é 'UI-less'. Em geral, é apenas um caso de você diz a batata, eu digo batata.

Como para o exemplo que você usa: isso é apenas o que é um tempo de execução (por exemplo .NET ou Java) faz:. Carregamento de um conjunto de bibliotecas e chamando o ponto de entrada do aplicativo, ou seja, o método "main"

Assim, no seu caso, o código de carregar as bibliotecas está fazendo exatamente o mesmo, e, provavelmente, chamar um método em uma interface, você poderia, então, considerar o código de carregamento para ser o tempo de execução para essa aplicação. É apenas uma questão de perspectiva.

Outras dicas

O termo "aplicação" pode significar qualquer coisa que você o quer significar. "Aplicação" significa apenas uma coleção de recursos (bibliotecas, código, imagens, etc) que trabalham em conjunto para ajudá-lo a resolver um problema.

Então, para responder sua pergunta, sim, é um uso válido do termo 'aplicação'.

aplicativo em seus próprios meios, na verdade, nada. Ele é frequentemente usado por pessoas para falar sobre programas de computador que fornecem alguns valor para o usuário. Um termo mais correto é software aplicativo e este tem a seguinte definição:

O software de aplicação é uma subclasse de software de computador que emprega o capacidades de um computador diretamente e cuidadosamente para uma tarefa que o usuário deseja executar. Isso deve ser contrastado com software sistema que está envolvido na integração de uma computador de vários recursos, mas normalmente não se aplica-los diretamente no desempenho de tarefas que beneficiar o usuário. Neste contexto, o aplicação termo refere-se tanto a software aplicativo e sua implementação.

E já que a aplicação realmente significa software aplicativo e software é qualquer pedaço de código que realiza nenhum tipo de tarefa em um computador, eu diria também uma biblioteca pode ser um aplicativo.

A maioria dos termos são de natureza artificial de qualquer maneira. É um plugin nenhuma aplicação? É o plugin de Flash do seu navegador sem aplicação? As pessoas dizem que não, é apenas um plugin. Por quê? Porque não pode executar, por si própria, ele precisa ser carregado em um processo real. Mas não existe uma definição dizendo únicas coisas que "podem ser executados em sua própria" são aplicações. Mesmo vale para uma biblioteca. A aplicação do núcleo pode ser apenas um recipiente vazio e toda a lógica e funcionalidade, mesmo a interacção com o utilizador, pode ser realizada por encaixes ou bibliotecas, caso em que isso seria mais uma aplicação do que o recipiente vazio que apenas fornece um contexto para o aplicativo para executar. Compare isso com Java. A Java aplicativo não pode ser executado em seu próprio, ele deve executar dentro de uma Java Virtual Machine (JVM), isso significa que a JVM é a aplicação e o código Java é apenas ... bem o que? não é o código Java a real aplicação e a JVM apenas um ambiente de tempo de execução vazia que fornece nada para o usuário final sem o código Java carregado?

Eu acho que neste contexto "ponto de entrada do aplicativo" significa "o ponto no qual o aplicativo (o código) entra na biblioteca".

Eu acho que provavelmente o que você está se referindo é a função main () em código C / C ++ ou WinMain em um aplicativo do Windows. Ou seja, é o ponto onde a execução é normalmente iniciado em um aplicativo. Sua pergunta é muito ampla e vaga - por exemplo, qual sistema operacional que você está executando isso em - mas este pode ser o que você está procurando. Este pode também tratar da questão.

Tenha em mente quando você está fazendo perguntas, os detalhes são seu amigo. As pessoas podem lhe dar uma resposta muito melhor, mais informado quando você fornecê-los com mais detalhes.

EDIT: Num contexto mais amplo considerar o que tem que acontecer do ponto de vista do sistema operacional. Quando especifica usuário que deseja executar um aplicativo, o sistema operacional tem que carregar o aplicativo a partir do disco rígido e, em seguida, quando o aplicativo é carregado na memória, tem que passar o controle para algum momento na memória bloqueado ocupado pelo recém-carregado aplicativo para continuar a execução. Esse seria o "ponto de entrada do aplicativo". Quando um aplicativo é construído com código vinculado dinamicamente o sistema operacional tem que carregar tudo o que dinamicamente ligada código, a fim de obter a imagem aplicativo correto na memória. Carregando-se os bits compartilhados de código não muda o fato de que o sistema operacional deve ter um ponto em que para passar o controle quando o aplicativo é carregado na memória.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top