Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [C] Librerie gmp

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    366

    [c] librerie gmp

    Ciao. Ho letto di gmp... devo installarla sul sistema, ma una volta compilato il sorgente ed ottenuto un .exe, devo installare di nuovo la libreria sui sistemi in cui voglio eseguire il programma? oppure posso usare il programma senza aver installato quella libreria?

  2. #2
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Il compilatore crea il file .exe attingendosi alle librerie che hai installate sul sistema,ma una volta creato il file .exe esso è scritto in linguaggio macchina.
    Utilizziamo continuamente programmi scritti originariamente in vari linguaggi,ma non ci serve nulla per leggerli,il linguaggio macchina è "compreso" dal computer senza installare niente.
    Quindi la risposta è si,non hai bisogno di installare niente.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    366
    ok, grazie

  4. #4
    Originariamente inviato da ramy89
    Il compilatore crea il file .exe attingendosi alle librerie che hai installate sul sistema,ma una volta creato il file .exe esso è scritto in linguaggio macchina.
    Utilizziamo continuamente programmi scritti originariamente in vari linguaggi,ma non ci serve nulla per leggerli,il linguaggio macchina è "compreso" dal computer senza installare niente.
    Quindi la risposta è si,non hai bisogno di installare niente.
    Non necessariamente, è possibile (e spesso si fa) configurare la libreria in maniera tale che sia compilata come dll (o shared object), per cui bisogna distribuire la dll generata assieme all'exe che da essa dipende.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Ah,scusatemi per l' informazione sbagliata.
    usando lo stesso sistema operativo,basta includere il file .oggetto insieme al .exe?

  6. #6
    Come detto, dipende.

    Se la libreria è stata compilata per il linking statico, il file .lib contiene tutta la libreria compilata, e se si linka il proprio programma con tale file la libreria viene inglobata nell'exe.
    Se invece la libreria è stata compilata per il linking dinamico, il file .lib è semplicemente una libreria di importazione, per cui non contiene le funzioni vere e proprie, ma degli stub che rimandano alla dll generata assieme al .lib. In tal caso, perché l'eseguibile possa funzionare, assieme ad esso ci deve essere la dll relativa.

    Esistono poi situazioni più complicate (dll COM, late binding, assembly .NET, ...) ma lasciamo stare.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.