PDA

Visualizza la versione completa : [C++] Utilizzo di "make" per compilare con g++


Cesaropa12
20-02-2007, 14:55
Sto utilizzando il comando make per evitare di riscrivere spesso le stesse linee di codice.
Fra circa tre settimana avro' la selezione nazionale delle olimpiadi di informatica. Spiego velocemente come funziona: per ogni programma, bisogna leggere da un file "input.txt" e scrivere su un file "output.txt". Ho deciso cosi' di scrivere questo codice in un file Makefile:

FILE =Start.cpp
FILEGO =Start.exe
.PHONY :c
.PHONY :e
.PHONY :go
.PHONY :cgo
c:
g++ -g -o $(FILEGO) -O2 -W -Wall -pedantic $(FILE) 2>Error
cat<Intestazione
cat<Error | sed 's|FILE|\n|g;'
e:
cat<Intestazione
cat<Error | sed 's|FILE|\n|g;'
go:
cat<Intestazione
./$(FILEGO)
cat<output.txt
cgo:
g++ -g -o $(FILEGO) -O2 -W -Wall -pedantic $(FILE)
./$(FILEGO)
cat<output.txt

Su linux, alle nazionali sono disponibili gcc, g++, gdb, emacs, xemacs, vi, ddd. Finora ho provato g++ in collaborazione con ddd. Ho provato anche emacs e vi ma non ho capito come funzionano. Voi cosa mi consiglereste? Tenere g++, make, ddd? Provare emacs? Provare vi?
Quello che mi serve un programma che sia in grado di compilare ed effettuare il debuggin semplicemente ed efficacemente(stile visual studio).

Xaratroom
21-02-2007, 21:46
Non ho capito bene ... :master:
Hai mensionato compilatori, debugger e editor (a mio parere alcuni ottimi ma inopportuni) es: vi un ottimo editor un po' complesso ma molto potente e leggere; emacs l'editor per eccellenza, meno leggero di vi, ma molto pi completo (emacs makes a computer slow)...

Quello che mi serve un programma che sia in grado di compilare ed effettuare il debuggin semplicemente ed efficacemente(stile visual studio).
Ma puoi richiedere programmi diversi da quelli che hai scritto ?
Su che distro lavorerai o cmq lavorerai su linux (a linea di comando) ?

Cesaropa12
22-02-2007, 14:38
Forse vero...Non ho bene le idee chiare.
Alle nazionali, il sito dice che se si vuole lavorare con linux sono disponibili: gcc, g++, gdb, emacs, xemacs, vi, ddd.
Io utilizzo di solito g++ e ddd. Utilizzando ddd utilizzo indirettamente gdb. Per scrivere il codice utilizzo l'editor di linux. Non ho ben chiaro cosa siano emacs e vi. Sono semplicemente degli editor di testo?

Xaratroom
22-02-2007, 16:56
vi e emacs sono "editor" molto famosi, nel mondo linux ...
vi un editor di testo vero e proprio, emacs un po' meno (xemacs pi un word processor)...
Non so se emacs col tempo sia stato migiorato o modificato (emacs presentato come "l'editor estensibile, personalizzabile, etc") visto che per sviluppare utilizzo kdevelop (su gui) e niente pi ...
Ti rimando a wikipedia per non commettere errori:

http://it.wikipedia.org/wiki/Vi_%28software%29
http://it.wikipedia.org/wiki/Emacs
http://it.wikipedia.org/wiki/XEmacs

Se ddd un IDE ti consiglio di non provare gli altri (sempre escluso che avrai: gcc, g++, gdb, emacs, xemacs, vi, ddd)

PS: in bocca al lupo per le olimpiadi

Cesaropa12
22-02-2007, 17:46
No...DDD una interfaccia grafica per usare il debugging gdb e semplificare di molto il lavoro. Dal quel che ho capito quindi, non c' un ide semplice ed efficace fra quelli che ho citato. Per semplice ed efficace intendo tipo visual studio.

Xaratroom
22-02-2007, 17:59
No...DDD una interfaccia grafica per usare il debugging gdb e semplificare di molto il lavoro
ah quindi non sei sulla linea di comando...
Non saprei dirti: vi, emacs e xemacs nascono come "editor" (o quasi), poi col tempo possono aver subito modifiche (credo non molte cmq)...

Per semplice ed efficace intendo tipo visual studio.
Non fra quelli che hai elencato ( i mangiatori di quiche sarebbero passati tutti a linux :zizi: )...
Tuttavia se cerchi bene strumenti simili puoi anche trovarli (ma nel tuo caso non servirebbe)

Loading