|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Sep 2001
Messaggi: 66
|
dev-cpp
Ho installato da poco il dev-cpp versione 4.9.7.0
Ho provato subito a compilare il file di esempio: Hello e mi sono comparsi diversi errori(5). ![]() Il rpimo è : iostream.h: No such file or directory. Il file è questo: ************************************* #include <iostream.h> int main (int argc, char *argv[]) { char quit; quit = '\0'; while (quit != 'q') { cout << "Hello ! This is a console app." << endl; cout << "To create a console, go to Project Options and select" << endl; cout << "\'Win32 Console\'." << endl; cout << "Press q to quit " << endl; cin >> quit; } **************************************** in Tools->Compiler Options->Directories->C++ le directory: c:\Dev-Cpp\include\C++ c:\Dev-Cpp\include. ![]() ![]()
__________________
Abit VH6 II, P III 868 Mh(124x7 over clock da 700 Mh), 384 Ram, Ati 128 rage da 32 Mb, Hd 40 Gb Quantum ATA 100( 2 partizioni), Hd 80 Gb Maxtor ATA 133 ( gira a 100 )+ventola raffr. Hd, Pinnacle DC10+, Dvd Sony, Pioneer 106D, S.O. Win 98SE - Linux Mandrake 9.0 |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Sep 2001
Messaggi: 66
|
Ci manca un pezzo, è questo il listato:
#include <iostream.h> int main (int argc, char *argv[]) { char quit; quit = '\0'; while (quit != 'q') { cout << "Hello ! This is a console app." << endl; cout << "To create a console, go to Project Options and select" << endl; cout << "\'Win32 Console\'." << endl; cout << "Press q to quit " << endl; cin >> quit; } return 0; }
__________________
Abit VH6 II, P III 868 Mh(124x7 over clock da 700 Mh), 384 Ram, Ati 128 rage da 32 Mb, Hd 40 Gb Quantum ATA 100( 2 partizioni), Hd 80 Gb Maxtor ATA 133 ( gira a 100 )+ventola raffr. Hd, Pinnacle DC10+, Dvd Sony, Pioneer 106D, S.O. Win 98SE - Linux Mandrake 9.0 |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quale versione hai scaricato ? Con quale compialtore ?
|
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Sep 2001
Messaggi: 66
|
Grazie cionci per l'interesse e per la risposta in privato.
L'ho preso dalla rivista "Io programmo". La versione è dev-cpp 4.9.7.0 con gcc32.
__________________
Abit VH6 II, P III 868 Mh(124x7 over clock da 700 Mh), 384 Ram, Ati 128 rage da 32 Mb, Hd 40 Gb Quantum ATA 100( 2 partizioni), Hd 80 Gb Maxtor ATA 133 ( gira a 100 )+ventola raffr. Hd, Pinnacle DC10+, Dvd Sony, Pioneer 106D, S.O. Win 98SE - Linux Mandrake 9.0 |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Prendi quella con Mingw 2.9.5...funziona meglio...il 3.2 è ancora troppo giovane...
|
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Sep 2001
Messaggi: 66
|
Dove posso prenderla?
__________________
Abit VH6 II, P III 868 Mh(124x7 over clock da 700 Mh), 384 Ram, Ati 128 rage da 32 Mb, Hd 40 Gb Quantum ATA 100( 2 partizioni), Hd 80 Gb Maxtor ATA 133 ( gira a 100 )+ventola raffr. Hd, Pinnacle DC10+, Dvd Sony, Pioneer 106D, S.O. Win 98SE - Linux Mandrake 9.0 |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
http://www.bloodshed.net/dev/devcpp.html
|
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Sep 2001
Messaggi: 66
|
Grazie
![]()
__________________
Abit VH6 II, P III 868 Mh(124x7 over clock da 700 Mh), 384 Ram, Ati 128 rage da 32 Mb, Hd 40 Gb Quantum ATA 100( 2 partizioni), Hd 80 Gb Maxtor ATA 133 ( gira a 100 )+ventola raffr. Hd, Pinnacle DC10+, Dvd Sony, Pioneer 106D, S.O. Win 98SE - Linux Mandrake 9.0 |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 1205
|
Stavo per aprire una nuova discussioncina sul Dev-C++...ma mi conviene sfruttare questa
![]() Allora, due quesiti (versione 4.9.7.0): 1. Come faccio a passare un valore long double ad una variabile mediante scanf (tra l'altro il dev-C++ attribuisce a questo tipo di dato ben 12 byte contro gli usuali 10 degli altri compilatori)? Molti compilatori accettano scanf("%Lf", &variabile); Ma qui niente...non funziona. 2. La precedente versione (4.9.5.0) creava degli eseguibili piccoli-piccoli, stile Linux, ora invece gli eseguibile relativi agli stessi sorgenti sono cresciuti moltissimo, mediamente di 4 o 5 volte. C'è qualcosa da settare? PS Comunque la versione 4.9.7.0 rispetto alla precedente è un fulmine di guerra in floating point: ho misurato incrementi di prestazioni del 20-25% ![]() |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
La velocità di esecuzione è molte volte inversamente proporzionale alla dimensione del file...
Il GCC ha diverse opzioni di ottimizzazione delle prestazioni del codice: i vari -O, -O2, -O3... All'aumentare delle ottimizzazioni cresce anche la dimensione dell'eseguibile... Riguardo alla dimensione dei long double... Mi sembra strano che sia di 12 byte... La rappresentazione interna dell'unità floating point è di 80 bit...quindi è impossibile che il compilatore li faccia da 96 ![]() Probabilmente il discorso è un altro... La velocità dei trasferimenti dalla memoria alla CPU e viceversa dipende fortemente dall'allineamento... 80 bit sono 10 byte...se memorizzassi un intero dopo un floating point da 10 byte questo non sarebbe allineato con la linea zero del bus dati e necessiterebbe di due trasferimenti invece di uno unico per spostarlo in cache... Ecco perchè un floating point a 80 bit può occuparne 96...ma in definitiva ne utilizza solo 80... La questione del'allineamento è anche questa legata a qualche opzione di ottimizzazione... |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Esegui l'aggiornamento online...siamo già alla versione 4.9.7.6
![]() Inoltre ti permette di scaricare un casino di librerie e documentazione (compreso un help per la libreria standard)... %Lf dovrebbe funzionare...che problemi ti da ? |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 1205
|
Innanzi tutto grazie per le risposte...
![]() È strano che il long double occupi 12 byte...anche perché i 10 byte credo che siano uno standard per questo tipo di dato. Eppure sizeof(long double) restituisce 12. Allora, la compilazione viene eseguita regolarmente (senza nessuno messaggio di errore o warning): solo che ci sono problemi nel momento in cui si fanno operazioni sul tipo di dato, in particolare con le funzioni che lavorano con i tipi long double come sqrtl e molte altre. Un esempio scemo: #include <stdio.h> #include <math.h> main() { long double x; printf("\n Inserire un numero reale: x="); scanf("%Lf", &x); /* Il numero x viene visualizzato correttamente...quindi, almeno fin qui, sembra che %Lf funzioni...*/ printf("\n Hai inserito: %Lf", x); /* Qui ci sono problemi: visualizza sempre -2.000000: che sia colpa della funzione [long double sqrtl(long double x)]? */ printf("\n\n Ecco la radice quadrata di x: %Lf", sqrtl(x)); getchar(); return 0; } Comunque, la gestione dei long double mi dava problemi anche con le versioni precedenti. Di sicuro ci deve essere qualche barbatrucco...non è possibile... Domattina prova ad aggiornare. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:24.