Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - C - Binario
Forum - C/C++ - C - Binario

Avatar
Godrek (Normal User)
Newbie


Messaggi: 18
Iscritto: 04/08/2015

Segnala al moderatore
Postato alle 18:32
Giovedì, 09/03/2017
Salve a tutti,
volevo chiedervi in che modo è possibile vedere il codice binario di un programma C una volt

volevo chiedervi come è possibile vedere il codice binario di un programma C (preferibilmente, se si può, durante la scrittura del programma in C)


Chi ti critica poi ti imita
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6081
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 19:41
Giovedì, 09/03/2017
https://godbolt.org/

Premi il pulsante "11010" per vedere il codice in esadecimale... se vuoi proprio vedere il binario, converti da esadecimale.

Ultima modifica effettuata da pierotofy il 09/03/2017 alle 19:43


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5356
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:09
Giovedì, 09/03/2017
Se intendi il codice macchina corrispondente, non ha senso vederlo "durante la scrittura del programma in C".

Lo potrai vedere solo dopo la compilazione.

Praticamente tutti i compilatori C/C++ forniscono, a richiesta, il testo in codice macchina dopo la compilazione.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
GN (Member)
Guru


Messaggi: 768
Iscritto: 30/04/2011

Segnala al moderatore
Postato alle 22:02
Venerdì, 10/03/2017
Tieni inoltre presente che l'eseguibile che ottieni non contiene solo il codice macchina "grezzo" ma anche anche altre informazioni per la sua esecuzione, che sono organizzate in modo diverso a seconda del formato (solitamente ELF su sistemi Unix, PE su Windows) e vederne i contenuti con un hex editor è a mio avviso abbastanza inutile.
Per esaminare il codice prodotto dal compilatore è molto più comodo passare ad esso gli argomenti per farlo fermare alla fase di compilazione interrompendosi prima dell'assemblaggio (opzione -S se usi gcc) e generando il file di codice Assembly, che contiene le stesse informazioni del binario (tra un'istruzione assembly ed una in linguaggio macchina c'è una corrispondenza 1:1, a parte le pseudoistruzioni che corrispondono a più di un'istruzione) ma in formato più leggibile.


PM Quote
Avatar
Godrek (Normal User)
Newbie


Messaggi: 18
Iscritto: 04/08/2015

Segnala al moderatore
Postato alle 23:47
Sabato, 11/03/2017
Mi interessava molto una guida, possibilmente per principianti e in italiano, sulle informazioni contenute in un file eseguibile (sopratutto nel formato PE di Windows) e sul perché servono. Sapete dove posso trovarle? Ho già cercato su Google e Wikipedia ma non ho trovato nulla di facilmente comprensibile.


Chi ti critica poi ti imita
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5356
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 3:29
Domenica, 12/03/2017
Non è un argomento semplice. Comincia con Wikipedia e continua in inglese. Dato l'argomento è necessario leggere articoli e documentazione in inglese.

https://msdn.microsoft.com/it-it/library/windows/desktop/ms ...

Ma dal titolo della tua richiesta non si capisce esattamente cosa tu voglia sapere...

Ultima modifica effettuata da nessuno il 12/03/2017 alle 3:31


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote