iMarco92FI Inviato 16 Febbraio 2013 Segnala Condividi Inviato 16 Febbraio 2013 Bon weekend all'utenza del forum. Come probabilmente avrete capito dal titolo del topic, sto cominciando ad interfacciarmi con il terminale di Mac OS per esplorare in modo più tangibile il mondo della programmazione. Sono alle primissime armi con Unix, e alle prime esperienze con la programmazione C, e usare Xcode che fa tutto da se senza farmi capire nulla sui passaggi necessari per compilare e linkare i miei codici sorgente mi fa sentire un po troppo superficiale. Ho trovato scritto in un libro che per compilare un sorgente.c bisogna affidarsi a GCC tramite il comando GCC sorgente.c poi viene lanciato il comando ls -l a.out e infine ./a.out In un altro testo su internet, al posto di quest'ultimo, viene usato questo comando: ~/a.out Mi piacerebbe capire che tipo di file sia a.out, dato che non cambia al cambiare del sorgente; che comandi sono, la differenza tra gli ultimi due e cosa fanno effettivamente, quindi se qualcuno armato di un po di pazienza ha voglia di aiutarmi mi farebbe un grande piacere. Grazie ancora! MacBook Pro 8,2 13,3" | 8 GB DDR3 1600 MHz; SSD OWC Mercury Pro 6G Link al commento Condividi su altri siti Altre opzioni di condivisione...
AR89 Inviato 16 Febbraio 2013 Segnala Condividi Inviato 16 Febbraio 2013 a.out è un eseguibile, cioè un file scritto in linguaggio macchina pronto per essere eseguito. per compilare fai così cc nomefile.c -o nomefile (con questo comando il codice sorgente del file .c è stato compilato in codice macchina) in questo modo invece di a.out (che è il nome che viene dato di default all'eseguibile) crei un eseguibile chiamato "nomefile", l'opzione "-o nomefile" serve a specificare quale nome vuoi dare all'eseguibile. per eseguirlo dovrai poi fare: ./nomefile ls è un comando che serve ad avere la lista dei file presenti nella directory corrente (quella in cui ti trovi). http://www.2shared.com/file/oiZtjX1r/TetrisMac.html Un Tetris in vecchio stile, dedicato alla versione per Mac degli anni 80. Link al commento Condividi su altri siti Altre opzioni di condivisione...
iMarco92FI Inviato 16 Febbraio 2013 Autore Segnala Condividi Inviato 16 Febbraio 2013 Ok, grazie sono riuscito a compilare con Clang. Ora mi stavo domandando come fare per vedere il codice assembly corrispondente. Ho provato a usare sempre cc e otool, ma non riesco nemmeno a ottenere una stampa a video... MacBook Pro 8,2 13,3" | 8 GB DDR3 1600 MHz; SSD OWC Mercury Pro 6G Link al commento Condividi su altri siti Altre opzioni di condivisione...
fra.makaveli Inviato 17 Febbraio 2013 Segnala Condividi Inviato 17 Febbraio 2013 Hai provato '-S' ? -S Run the previous stages as well as LLVM generation and optimization stages and target-specificcode generation, producing an assembly file. Link al commento Condividi su altri siti Altre opzioni di condivisione...
AR89 Inviato 17 Febbraio 2013 Segnala Condividi Inviato 17 Febbraio 2013 cc -S nomefile.c In questo modo verrà generato un file chiamato nomefile.s che conterrà il codice in assembly, il file non verrà compilato come fatto notare da fra.makaveli. Se vuoi anche specificare il nome del file da creare usa l'opzione -o: cc -o nuovo_nome -S nomefile.c http://www.2shared.com/file/oiZtjX1r/TetrisMac.html Un Tetris in vecchio stile, dedicato alla versione per Mac degli anni 80. Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.