Sul concetto di programma

di il
3 risposte

Sul concetto di programma

Buongiorno a tutti,
questo è il mio primo post sul forum.
Vorrei condividere con voi un mio dubbio teorico, se mi dite cosa ne pensate ve ne sarei grato.
La domanda riguarda il concetto stesso di programma (inteso come codice):
una libreria importata (prendiamo per esempio con .NET System, richiamata con "using System") si può considerare parte del software che sto scrivendo o è solo richiamata dal mio programma?
Io propenderei per la seconda ipotesi, ma vorrei sentire la vostra.
Grazie!!

3 Risposte

  • Re: Sul concetto di programma

    Certo che è parte del software, questo è sicuro, giacché senza il tuo programma non funzionerebbe e perciò tu sei anche costretto a distribuirla.
    Quando tu compili, non puoi compilare senza la libreria.

    In questi casi, è ovvio che la libreria non è di tua proprietà, ma hai la 'licenza di usarla' di Microsoft.
    Il concetto: 'è solo usata dal mio programma' non ha alcuna validità.
  • Re: Sul concetto di programma

    Grazie!
  • Re: Sul concetto di programma

    Diciamo che la domanda è vaga e si presta a molte interpretazioni. Se ad esempio intendevi chiedere "La libreria è inclusa nell'eseguibile", allora dipende:
    * di default, le librerie tipo stdlib, stdio ecc. (nel caso del c) non vengono direttamente incluse nell'eseguibile, bensì si includeuno stub che poi, all'atto del caricamento del programma, carica anche le librerie. In questo modo l'eseguibile pesa meno, le librerie possono essere condivise da tutti i processi che ne fanno uso e se viene modificata una libreria non bisogna ricompilare i programmi che ne fanno uso. Le librerie "utente" invece vengono incluse nell'eseguibile, perché ovviamente il sistema operativo non le conosce;
    * Puoi impostare un opzione nel compilatore per far sì che tutte le librerie vengano incluse nell'eseguibile. Può essere utile in certi casi particolarissimi in cui vuoi velocizzare il caricamento e/o vuoi essere certo di usare sempre una specifica versione delle librerie;
    * Puoi usare le dll per ritardare il caricamento della libreria fino al momento in cui, durante l'esecuzione, ne hai bisogno. I programmi che usano plugin solitamente li includono come dll;
Devi accedere o registrarti per scrivere nel forum
3 risposte