Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 43
  1. #1
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011

    che vol dire "compilare" un programma?

    Perchè bisogna compilare i programmi con linux ? Che cosa significa ? Che operazioni vengono svolte quando si "compila" un programma ? Grazie

  2. #2
    Utente di HTML.it L'avatar di RokStar
    Registrato dal
    Dec 2001
    Messaggi
    937
    Come te lo spiego? Vediamo... un programma viene generalmente scritto in un linguaggio di programmazione, che è fatto per agevolare l'essere umano a scrivere qualcosa di comprensibile. Il computer invece ragiona in binario, per cui bisogna che ci sia una traduzione da linguaggio di programmazione a linguaggio macchina. Il compilatore è un programma che serve a fare questa traduzione.
    A scanso di equivoci, i programmi .exe per windows sono programmi compilati, quindi non è una cosa esclusiva di linux, tutti i programmi utilizzabili sono compilati. Poi ci sono anche gli script, che sono comunque una sorta di programmazione, in cui c'è un interprete che li passa alla macchina al volo, ma hanno tempi maggiori di esecuzione rispetto ad un sorgente compilato.
    che ce l'hai tre e cinco? Tre e cinco?!?

  3. #3
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180
    normalmente un programma è scritto in un linguaggio comprensibile facilmente per l'uomo. la compilazione serve ad ottimizzare e tradurre quello che è stato scritto in linguaggio umano nel linguaggio dei processori. come già detto, gli EXE che sei abituato ad usare con windows sono programmi compilati, ergo la compilazione non è una caratteristica di linux
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

  4. #4
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011
    Originariamente inviato da hfish
    normalmente un programma è scritto in un linguaggio comprensibile facilmente per l'uomo. la compilazione serve ad ottimizzare e tradurre quello che è stato scritto in linguaggio umano nel linguaggio dei processori. come già detto, gli EXE che sei abituato ad usare con windows sono programmi compilati, ergo la compilazione non è una caratteristica di linux
    quindi il php come funziona ? Cioè il codice viene tradotto in binario prima di essere eseguito lato server ? E un programma su linux solitamente è scritto in C ? E dopo che faccio "make install" che diamine succede ?

  5. #5
    Originariamente inviato da The knight
    quindi il php come funziona ? Cioè il codice viene tradotto in binario prima di essere eseguito lato server ? E un programma su linux solitamente è scritto in C ? E dopo che faccio "make install" che diamine succede ?
    PHP fa parte di un'altra famiglia di software chiamati Interpreti....interpreti sono pure Perl, Python, Vbasic, Java, ecc...

    mentre i compilatori traducono i sorgenti in binari e salvano questi ultimi in file, gli interpreti effettuano la conversione durante l'esecuzione del programma stesso, ma in pratica il processore eseguirà sempre e solo codice binario

    i programmi Linux non sono solitamente scritti in C, anzi trovo che gli altri linguaggi siamo molto più usati, soprattutto Python, questo perchè il C/C++ sono linguaggi estremamente complessi il che rende il software difficile da scrivere e soprattutto rende complicato evitare bug

    nel momento in cui fai "make" o "make all" stai richiamando un apposito programma, make appunto, che serve ad organizzare le fasi della compilazione di un programma....per esempio se ho un programma fatto di 4000 file C non posso stare a dare "gcc -o nome_eseguible nome_sorgente.c", allora creo un makefile che automatizza la compilazione e lo invoco attraverso il comando "make"

    "make install" invece permette l'installazione dei file binari appena compilati, se non sono compilati procede prima alla compilazione e poi all'installazione....ovviamente "all", "install", "clean" e i vari altri parametri sono definiti come label all'interno del makefile, quindi per esempio io posso definire nel mio makefile un entry "pippo" che fa l'installazione e per installare darò "make pippo" invece di "make install"

  6. #6
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011
    Ti ringrazio per l'esauriente spiegazione, davvero una miniera di informazioni

    Senti, ma se volessi sapere se ho installato corettamente un programma con "make install" come faccio ?

  7. #7
    Originariamente inviato da The knight
    Ti ringrazio per l'esauriente spiegazione, davvero una miniera di informazioni

    Senti, ma se volessi sapere se ho installato corettamente un programma con "make install" come faccio ?
    beh devi vedere se è stato compilato correttamente e quindi c'è l'eseguibile e se è stato copiato nella directory dove dovrebbe stare, poi ovviamente a seconda del programma possono esserci file di dati, icone, ecc....

    in sostanza fai prima a mandarlo in esecuzione e vedere se funziona

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    7,691
    alle esaurienti spiegazioni che ti sono state fornite vorrei solo aggiungere che è ormai un'evenienza rara che un utente "debba" compilare programmi, in Linux.

    Le distribuzioni linux sono fornite sotto forma di file .iso che scritti sul CD O DVD permettono di installare il sistema.

    Ogni distribuzione dispone di "repository", cioè archivi di pacchetti compilati ospitati su appositi server.

    Inoltre ogni distribuzione dispone di un "gestore di pacchetti" tramite il quale con pochi comandi o pochi click del mouse è possibile collegarsi ai server, scaricare il/i pacchetti ed installarli in modo automatico.

    Ad esempio con mandriva è sufficiente aprire una console di root e dare il comando

    urpmi nomepacchetto

    per effettuare l'installazione, oppure usare la sua interfaccia grafica.

    Quindi, la necessità di dover compilare pacchetti è ormai remota, a meno che non si abbia interesse/necessità di farlo per motivi particolari, oppure perchè sui server della propria distribuzione un particolare programma non sia disponibile già compilato, cosa che si verifica raramente e solo per programmi particolari.

    In pratica, tra le principali distribuzioni, solo gentoo, va compilata in fase di installazione.
    ... S'i' fosse Giorgio, com'i' sono e fui,
    torrei le donne giovani e leggiadre:
    le vecchie e laide lasserei altrui....
    Non mandatemi PVT, mi dimentico sempre di leggerli ... mandatemi e-mail, se è il caso

  9. #9
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011
    Ok, grazie a tutti

  10. #10
    mi sa che cmq per disinstallare da sorgenti devi fare make uninstall, ma non ne son sicuro al 100% ^^
    Dalla directory del sorgente intendevo ^^

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 © 2025 vBulletin Solutions, Inc. All rights reserved.