Originariamente inviato da akiross
c'e' anche in Italiano -_-'

i comandi per il compilatore... bhe, che dire

innanzi tutto complimenti per la scelta

se cerchi una doc approfondita cercati documentazioni sul compilatore GNU/GCC www.gnu.org

DevC++ usa un port di questo compilatore, quindi e' identico se non per il fatto che va anche su winzozz

fondamentalmente al compilatore servono questi parametri (da riga di comando)

gcc o g++ sono i compilatori per C e C++

questi sono i parametri MINIMI

gcc input1.c input2.c inputN.c -o eseguibile.exe

questi sono aggiuntivi
-c e' una opzione che indica al compilatore di non creare l'eseguibile, ma di compilare i file senza linkarli (creare file oggetto) es. gcc input.c -c [creera' il file input.o]

-l<nomelib> per specificare una librearia aggiuntiva
ad esempio, per utilizzare le librerie openGL, devi aggiungere alla riga di comando (in qualche opzione nel menu) -lopengl32 , per usare la libreria GLUT -lglut eccetera. Il nome della libreria e' nel formato:
libNOME.dll o libNOME.a
tu metterai solo -lNOME

-L<dir> specifica una directory aggiuntiva per la ricerca delle librerie. Esempio: hai una libreia chiamata
libMIA.a nel percorso C:\MioC\
al compilatore passi:
gcc input.c -L C:\MioC\ -lMIA -o Programma.exe

stessa cosa per gli Header (i file .h, .hpp e simili):
-I<dir>

-D<MACRO> definisce la MACRO in tempo di compilazione.
Esempio: metti che scrivi un programma in modo che si possa fare un semplice DEBUG. Se lo metti cosi':
codice:
// mioprog.c
#include <stdio.h>

int main()
{
#ifdef __DEBUG__
 printf("Il programma si avvia bene.\n");
#endif
 printf("Hello, World!\n");
 return 0;
}
se lo compili con: gcc mioprog.c -o programma.exe
e lo esegui, otterrai solo la scritta Hello, World!
se invece lo compili con:
gcc -D__DEBUG__ mioprog.c -o programma2.exe
quando lo esegui ottieni:
Il programma si avvia bene.
Hello, World!

Poi c'e' l'opzione -g che compila il programma con informazioni dettagliate per il debug con il debugger GNU (che e' il debugger che usa DevC++)

E infine il livello di ottimizzazione (sulla velocita'):
<nessuno> -O1 -O2 -O3 fino a O6
si consiglia di non usare ottimizzazioni durante lo sviluppo e il debug, e di usare la O3 come ottimizzazione massima. Dalla O4 alla O6 rendono il programma instabile (cosi' ho letto in passato), quindi si sconsigliano

Capito?
Queste credo che siano le opzioni basilari
Altre info le puoi trovare su www.gnu.org

ciauz
Scusa, sai percaso come si linka per creare un file binario ??

io faccio cosi:

ld --oformat binary -Ttext 0x10000 -onomefile.bin src/nomefile.o
ld: PE operations on non PE file.

Ma mi da questo errore e non mi crea nulla come mai?

Grazie.