|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Aug 2000
Messaggi: 608
|
[C++] Problemi con <iostream> e compilatore Borland
Ciao a tutti, sono alle prime armi e sto iniziando ora a studiare il C++ su vari manuali. Come compilatore uso Borland C++ Builder 2006.
Il mio problema, come da oggetto, riguarda la classicissima libreria <iostream> ed è questo: se nel codice, con #include, scrivo <iostream.h> lo compila benissimo (ovviamente), ma se invece scrivo semplicemente <iostream> (come scritto in tutti i manuali) non lo compila e mi ritorna un errore dicendo che cout e cin (presenti nel codice di esercizio) non sono comandi validi (ovviamente, non avendo compilato l'header iostream). Ma perchè succede questo? Ho letto che alcuni compilatori esigono l'estensione ".h" dei file header, ma pensavo che un compilatore aggiornato e nuovo come il Borland Builder 2006 fosse più "moderno" ![]() La cosa più strana, è che nella stessa documentazione Borland fornita con il compilatore, in tutti gli esempi viene scritto sempre <iostream>, senza l'estensione! Ma come?? Nella documentazione mi dicono di scrivere una cosa che poi il compilatore non riconosce?? ![]()
__________________
Intel Core2Quad Q6600 2,4GHz @ 3,0 GHz 2 Gb RAM 667 MHz ATI HD2900XT |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Aug 2000
Messaggi: 608
|
Come non detto, sono proprio rinco!
![]() Ho trovato l'errore....se voglio usare <iostream>, senza l'estensione ".h", devo anche mettere using namespace std.....cosa che io dimenticavo di fare! ![]() Grazie lo stesso, e scusate. ![]()
__________________
Intel Core2Quad Q6600 2,4GHz @ 3,0 GHz 2 Gb RAM 667 MHz ATI HD2900XT |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
sei sicuro non ti dia errore lo using namespace std? a noi nel borland a scuola si.. comunque se vuoi un consiglio i migliori ide per c++ sono: dev-cpp, code::blocks, visual studio express.. tutti e tre gratuiti..
|
![]() |
![]() |
![]() |
#4 | ||
Senior Member
Iscritto dal: Aug 2000
Messaggi: 608
|
Quote:
![]() Però ne approfitterei per farti un'altra domanda.... In uno dei testi che uso per imparare, ho visto che nei listati d'esempio viene usata spesso la funzione system("Pausa"), per l'attesa della pressione di un tasto al termine del programma. Cercando informazioni, ho visto che la funzione system() è dichiarata nell'header <stdlib.h>, ma in questi listati viene incluso solamente <iostream>, e in effetti funziona. ![]() Perchè riesco a usare system() senza includere <stdlib.h>?? Per caso <iostream> include <stdlib> al suo interno? ![]() Quote:
Però non ho capito perchè produce degli EXE enormi......lo stesso identico listato, compilato in dev-cpp produce un EXE da 436 Kb (con ottimizzazioni attivate) mentre nel Borland C++ Builder 2006 produce un EXE di 23 Kb (e funziona perfettamente!)!! ![]()
__________________
Intel Core2Quad Q6600 2,4GHz @ 3,0 GHz 2 Gb RAM 667 MHz ATI HD2900XT |
||
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Magari hai l'opzione di debugging attivata
![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Aug 2000
Messaggi: 608
|
Purtroppo no, non è attivata, ho controllato.
Ma 436 Kb per scrivere "hello world" su console (il tipico "primo programma C++") mi sembrano veramente una esagerazione ![]() Peccato perchè come ambiente Dev-C++ mi sembra molto comodo.
__________________
Intel Core2Quad Q6600 2,4GHz @ 3,0 GHz 2 Gb RAM 667 MHz ATI HD2900XT |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:39.