Domanda

Di recente mi sono imbattuto in una situazione in cui il codice sta caricando in modo dinamico alcune librerie, collegandole, quindi chiamando quello che viene definito il "punto di ingresso dell'applicazione"; (una delle librerie deve implementare IApplication.Run ()).

È un " valido punto di entrata di appliation " ;?

Avrei sempre considerato il punto di ingresso dell'applicazione prima del caricamento delle librerie e ho trovato IApplication.Run () chiamato dopo una notevole quantità di lavoro leggermente fuorviante.

È stato utile?

Soluzione

I termini applicazione e sistema sono termini così ampiamente e diversificati che è necessario concordare cosa significano in anticipo con il proprio interlocutore. Per esempio. a volte un'applicazione è qualcosa con un'interfaccia utente e un sistema è "UI-less". In generale è solo un caso in cui dici di patate, dico patate.

Come nell'esempio che usi: questo è esattamente ciò che fa un runtime (ad es. .NET o java): caricare un set di librerie e chiamare il punto di ingresso dell'applicazione, vale a dire " main " metodo.

Quindi, nel tuo caso, il codice che carica le librerie sta facendo lo stesso, e probabilmente chiamando un metodo su un'interfaccia, potresti considerare il codice di caricamento come il runtime per quell'applicazione. È solo una questione di prospettiva.

Altri suggerimenti

Il termine "applicazione" può significare qualunque cosa tu voglia che significhi. & Quot; Application " significa semplicemente una raccolta di risorse (librerie, codice, immagini, ecc.) che lavorano insieme per aiutarti a risolvere un problema.

Quindi, per rispondere alla tua domanda, sì, è un uso valido del termine "applicazione".

L'applicazione da sola non significa in realtà nulla. Viene spesso utilizzato dalle persone per parlare di programmi per computer che forniscono all'utente un certo valore . Un termine più corretto è software applicativo e questo ha la seguente definizione:

  

Il software applicativo è una sottoclasse di   software per computer che impiega il   capacità di un computer direttamente   e accuratamente per un compito che l'utente   desidera esibirsi. Questo dovrebbe essere   in contrasto con il software di sistema che   è coinvolto nell'integrazione di a   varie funzionalità del computer, ma   in genere non li applica direttamente   nell'esecuzione di compiti che   a beneficio dell'utente. In questo contesto il   termine applicazione si riferisce sia al   software applicativo e relativi   implementazione.

E poiché l'applicazione significa davvero software applicativo e il software è qualsiasi parte di codice che esegue qualsiasi tipo di attività su un computer, direi che anche una libreria può essere un'applicazione.

La maggior parte dei termini sono comunque di natura artificiale. Un plugin non è un'applicazione? Il plugin flash del tuo browser non è un'applicazione? La gente dice di no, è solo un plugin. Perché? Poiché non può essere eseguito da solo, deve essere caricato in un processo reale. Ma non esiste una definizione che dica solo cose che "possono funzionare da sole" sono applicazioni. Lo stesso vale per una biblioteca. L'applicazione principale potrebbe essere solo un contenitore vuoto e tutta la logica e le funzionalità, persino l'interazione con l'utente, potrebbero essere eseguite da plugin o librerie, nel qual caso sarebbe più un'applicazione del contenitore vuoto che fornisce solo un contesto per il applicazione da eseguire. Confronta questo con Java. Una applicazione Java non può essere eseguita da sola, deve essere eseguita all'interno di una Java Virtual Machine (JVM), ciò significa che la JVM è l'applicazione e il codice Java è ... beh, cosa? Il codice Java non è l'applicazione reale e la JVM è solo un ambiente di runtime vuoto che non fornisce nulla all'utente finale senza il codice Java caricato?

Penso in questo contesto "punto di entrata dell'applicazione" indica " il punto in cui l'applicazione (il tuo codice) entra nella libreria " ;.

Penso che probabilmente a cui ti riferisci sia la funzione main () nel codice C / C ++ o WinMain in un'app di Windows. Cioè, è il punto in cui l'esecuzione viene normalmente avviata in un'app. La tua domanda è piuttosto ampia e vaga - ad esempio, su quale sistema operativo stai eseguendo questo - ma questo potrebbe essere quello che stai cercando. Questo potrebbe anche rispondere alla domanda.

Tieni presente che quando fai domande, i dettagli sono tuoi amici. Le persone possono darti una risposta molto migliore e più informata quando fornisci loro i dettagli.

EDIT: In un contesto più ampio, considerare cosa deve succedere dal punto di vista del sistema operativo. Quando l'utente specifica che desidera eseguire un'app, il sistema operativo deve caricare l'app dal disco rigido e quindi quando l'app viene caricata in memoria, deve passare il controllo a un punto della memoria bloccata occupata dal nuovo caricato app per continuare l'esecuzione. Quello sarebbe il "punto di entrata dell'applicazione". Quando un'app è costruita con codice collegato dinamicamente, il sistema operativo deve caricare tutto quel codice collegato dinamicamente per ottenere l'immagine dell'app corretta in memoria. Il caricamento di quei bit di codice condivisi non cambia il fatto che il sistema operativo deve avere un punto a cui passare il controllo quando l'app viene caricata in memoria.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top