• In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 13 di 13

Discussione: compilatori c++

Cambio titolo
  1. #1
    Functional and Stylish L'avatar di Wolve-X
    Registrato il
    03-04
    Localit
    Roma
    Messaggi
    4.127

    compilatori c++

    cos' un compilatore in c++?

  2. #2
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.311
    serve a trasformare i sorgenti scritti in c++ in una forma direttamente compresibile alla cpu

  3. #3
    ~ Over My Head ~ L'avatar di Finalfire
    Registrato il
    06-03
    Localit
    Italy
    Messaggi
    5.013
    Citazione devilheart
    serve a trasformare i sorgenti scritti in c++ in una forma direttamente compresibile alla cpu
    0 & 1

  4. #4
    Nothing to no one L'avatar di Toad
    Registrato il
    07-03
    Localit
    Vigevano
    Messaggi
    12.470
    Citazione devilheart
    serve a trasformare i sorgenti scritti in c++ in una forma direttamente compresibile alla cpu
    Nn proprio,crea un file oggetto,per essere in linguaggio macchina deve essere il file oggetto linkato.

  5. #5
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.311
    il file oggetto una forma comprensibile alla cpu

  6. #6
    Nothing to no one L'avatar di Toad
    Registrato il
    07-03
    Localit
    Vigevano
    Messaggi
    12.470
    Citazione devilheart
    il file oggetto una forma comprensibile alla cpu
    No,perch nn eseguibile.
    Il file oggetto prima di essere eseguito viene linkato dal linker e dopo caricato in memoria dal loader.

  7. #7
    Utente L'avatar di bottomap
    Registrato il
    02-05
    Localit
    Firenze
    Messaggi
    148
    Ciao,

    Il file oggetto generato dal compilatore, come dice Toad, una sorta di stato intermedio tra il codice e l'eseguibile finale.
    Non assolutamente eseguibile dalla CPU e contiene, oltre a parte del codice in un formato bytecode che dipende spesso dal compilatore (.obj creati da compilatori diversi sono raramente utilizzabili con altri compilatori), contiene i nomi delle funzioni (che il linker dovr trasformare in indirizzi) e una serie di altre informazioni.

    E'il linker a tradurre tutti gli indirizzi presenti nel .obj e a "rimettere insieme i pezzi", per cos dire, producendo un .exe a tutti gli effetti.
    I compilatori C lavorano tutti eseguendo (a volte nascondendolo all'utente) in sequenza le due effettive operazioni di compilazione e linking.

    Ciaociao
    Venite a visitarci qui: http://www.bottomap.com/

  8. #8
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.311
    Citazione Toad
    No,perch nn eseguibile.
    Il file oggetto prima di essere eseguito viene linkato dal linker e dopo caricato in memoria dal loader.
    ho detto comprensibile, non eseguibile e i termini non sono sinonimi. hai mai provato a disassemblare un file oggetto?

  9. #9
    Arael Windwings L'avatar di RoyalEagle
    Registrato il
    11-03
    Localit
    Pompei (NA)
    Messaggi
    5.636
    Assembler Ruleeeeezzzz!!!





  10. #10
    Nothing to no one L'avatar di Toad
    Registrato il
    07-03
    Localit
    Vigevano
    Messaggi
    12.470
    Citazione devilheart
    ho detto comprensibile, non eseguibile e i termini non sono sinonimi. hai mai provato a disassemblare un file oggetto?
    No.Cmq,nel file oggetto vengono messe le libreire incluse sostituite le eventuali define con la variabile,come dice bottomap nn ancora comprensibile dalla CPU,anche se in linguaggio macchina,perch nn stato linkato.

  11. #11
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.311
    possibile che mi sono espresso male. per eseguibile intendo un programma che pu essere invocato da terminale, lanciato da un doppio click etc. ; richiede gli input e produce dei risultati. con comprensibile intento che la sequenza di bit di cui composto pu essere direttamente interpretata dalla cpu senza ulteriori modifiche. ad esempio se del file oggetto c' l'op code dell'istruzione ADD la cpu sa ch una ADD senza l'aiuto del linker. ovvio che le cose smettono di funzionare quando nel file oggetto c' un riferimento esterno come una CALL. in questo caso la cpu sa che quell' op code corrisponde a una call e sa come eseguirla ma senza il linkaggio non sa cosa eseguire

  12. #12
    Nothing to no one L'avatar di Toad
    Registrato il
    07-03
    Localit
    Vigevano
    Messaggi
    12.470
    Citazione devilheart
    possibile che mi sono espresso male. per eseguibile intendo un programma che pu essere invocato da terminale, lanciato da un doppio click etc. ; richiede gli input e produce dei risultati. con comprensibile intento che la sequenza di bit di cui composto pu essere direttamente interpretata dalla cpu senza ulteriori modifiche. ad esempio se del file oggetto c' l'op code dell'istruzione ADD la cpu sa ch una ADD senza l'aiuto del linker. ovvio che le cose smettono di funzionare quando nel file oggetto c' un riferimento esterno come una CALL. in questo caso la cpu sa che quell' op code corrisponde a una call e sa come eseguirla ma senza il linkaggio non sa cosa eseguire
    Ho capito,ma nel file oggetto nn ci sono gli inidrizzi di memoria delle istruzione,ci avviene solo attraverso il linker.Ho capito che se c' una ADD la CPU capisce l'istruzione,ma se nn sa a quale indirizzo lavorare?

  13. #13
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.311
    proprio quello che volevo dire, sia con il primo che con il mio penultimo post. la cpu perfettamente in grado di comprendere il file oggetto prodotto dal compilatore (ma non di eseguirlo). torniamo all'esempio della CALL; quando nel file oggetto c' l'opcode di questa istruzione, la cpu sa che una chiamata a procedura e sa anche come comportarsi ovvero prima di saltare all'indirizzo specificato deve salvare il contesto nello stack. ovviamente senza il linking l'indirizzo sar fittizio e non punter alla procedura richiesta (a meno di una botta di culo)

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •