Compilatore C++ per ubuntu
Qualcuno mi può consigliare un compilatore C++ per ubuntu?
Risposte
ciao!!!
edit
avevo frainteso, mi scuso per l'errore, e anche io ti consiglio g++ che se non sbaglio è già presente su ubuntu...
edit
avevo frainteso, mi scuso per l'errore, e anche io ti consiglio g++ che se non sbaglio è già presente su ubuntu...
Se è per C++ allora direi g++
Su linux, per scopi non commerciali, è possibile usare anche i programmi della Intel (le versioni commerciali costano molto). Qui trovi maggiori informazioni. g++ è un ottimo compilatore e non ha le limitazioni di uso del software intel, ma può valer la pena di dare un occhiata a questa possibilità per metter mano alle librerie matematiche o a VTune o a Thread Checker. Se non ricordo male, Ubuntu fino a qualche versione fa non installava g++ nell'installazione di base (non ho installato le ultime 2-3 versioni). Se scrivendo
g++ --version
sulla console non compare la versione di g++, allora devi installare il pacchetto corrispondente (non ricordo il nome però..).
g++ --version
sulla console non compare la versione di g++, allora devi installare il pacchetto corrispondente (non ricordo il nome però..).
Scusate, sono un po' asino in informatica (e sto scoprendo da poco Linux). Ho installato g++ ma non so come farlo partire. Ho provato ad installare Code Block ma non riesco ad eseguire i programmi in C++ che devo scrivere per l'esame di Informatica. Su Windows usavo Dev C++, mi chiedevo se esiste qualcosa di simile per Ubuntu o se qualcuno mi spiega come utilizzare g++. Grazie.
Code::Blocks va benissimo (ed è molto meglio di Dev-C++ anche su Windows). Che cosa non riesci a fare esattamente? Non compila? Non riesci ad eseguire il programma? Vengono restituiti degli errori?
I problemi potrebbero essere principalmente 2:
1. Code::Blocks o g++ non sono installati o più probabilmente configurati nel modo corretto;
2. Il codice che stai testando contiene degli errori che il pessimo e datato compilatore contenuto in Dev-C++ non li riporta in modo corretto.
Devi darci informazioni maggiori.
P.S. Ho appena visto che sei di Matematica a Torino. L'opzione 2 diventa allora abbastanza probabile (so di altri che hanno avuto problemi ad usare compilatori diversi da quello di Dev-C++). Prova a compilare usando Code::Blocks il seguente codice
Riesce a compilarlo? Riesci ad eseguirlo?
Se hai risposto sì ad entrambe le domande allora dovresti postare il codice e gli errori restituiti da Code::Blocks.
I problemi potrebbero essere principalmente 2:
1. Code::Blocks o g++ non sono installati o più probabilmente configurati nel modo corretto;
2. Il codice che stai testando contiene degli errori che il pessimo e datato compilatore contenuto in Dev-C++ non li riporta in modo corretto.
Devi darci informazioni maggiori.
P.S. Ho appena visto che sei di Matematica a Torino. L'opzione 2 diventa allora abbastanza probabile (so di altri che hanno avuto problemi ad usare compilatori diversi da quello di Dev-C++). Prova a compilare usando Code::Blocks il seguente codice
#include <iostream> int main() { std::cout << "Ciao mondo\n"; }
Riesce a compilarlo? Riesci ad eseguirlo?
Se hai risposto sì ad entrambe le domande allora dovresti postare il codice e gli errori restituiti da Code::Blocks.
"apatriarca":
Code::Blocks va benissimo (ed è molto meglio di Dev-C++ anche su Windows). Che cosa non riesci a fare esattamente? Non compila? Non riesci ad eseguire il programma? Vengono restituiti degli errori?
Non riesco ad eseguire il programma, nel senso che cliccando su build and run, non succede nulla. Forse devo solo capire come funziona Code Block. Per quanto riguarda g++ vorrei solo capire come avviarlo. Grazie.
Scrivi
Alla fine del codice.
std::cout << "Premi invio per terminare il programma.\n"; std::cin.ignore();
Alla fine del codice.
Adesso sono al lavoro e non ho con me il portatile dove ho Code::Blocks installato. Comunque ieri ho provato questo banale programma:
Ma non eseguiva. Probabilmente sbaglio qualcosa nell'utilizzo del compilatore.
#include <iostream> using namespace std; int main () { int m,n; m=33; cout << "m = " << m << endl; n=m+33; cout << "e n = " << n << endl; system("PAUSE"); }
Ma non eseguiva. Probabilmente sbaglio qualcosa nell'utilizzo del compilatore.
system("PAUSE");
Questa riga funziona solo su Windows e comunque richiederebbe l'inclusione di cstdlib. Sostituisci la riga con le due che ho scritto in precedenza e dovrebbe funzionare.
Ok, stasera provo e poi ti dico. Grazie mille.
"maxsiviero":
Per quanto riguarda g++ vorrei solo capire come avviarlo.
Una volta installato, semplicemente
gcc nome_sorgente -o nome_eseguibile
oppure equivalentemente
g++ nome_sorgente -o nome_eseguibile
c++ nome_sorgente -o nome_eseguibile
Se nome_sorgente finisce per .cpp .c++ .cc il compilatore lo considera automaticamente un sorgente C++. 'man gcc' per dettagli.
Grazie Rggb!
Scusate ma sono proprio scarso. Allora, ho aperto Code::Blocks, ho fatto file->Open ed ho aperto il mio file sorgente, poi ho fatto Build and Run ma non succede nulla.
È da tanto che non uso Code::Blocks, ma potrebbe essere necessario creare un nuovo progetto.
Il fatto è che se eseguo gli stessi passi su Code::Blocks per Windows funziona correttamente.
Hai provato a scrivere sulla console il seguente codice dalla cartella corretta? Funziona?
> gcc nome_sorgente.cpp -o nome_eseguibile > ./nome_eseguibile
Alla fine ho deciso di utilizzare gcc. Solo un chiarimento, dopo aver compilato il programma, mi crea un file che chiama in automatico a.out che poi posso eseguire dal terminale. Però non capisco perché se successivamente compilo un altro programma sempre nella stessa cartella mi sovrascrive il fil a.out con quello nuovo. C'è un modo di creare un file diverso per ogni file sorgente?
Se non metti l'opzione -o seguita dal nome dell'eseguibile che vuoi creare, gcc scrive sempre in a.out, quindi come già detto
gcc nome_sorgente.cpp -o nome_eseguibile
crea, a meno di errori, un file eseguibile di nome nome_eseguibile.
gcc nome_sorgente.cpp -o nome_eseguibile
crea, a meno di errori, un file eseguibile di nome nome_eseguibile.
Ma come mai ti stai "complicando" la vita cercando di programmare su linux se su Windows ci riesci senza problemi? Inoltre i tuoi professori sembrano dare un po' per scontato l'uso di Dev-C++ come strumento di sviluppo.
In realtà volevo iniziare ad utilizzare ubuntu come sistema operativo e nel frattempo sto preparando l'esame di Informatica quindi ho voluto provare ad unire le due cose.