Newsgroup: it.comp.lang.c++
Titolo: Dov'è iostream.h?

Ciao.... sono nuovo a Linux.... e mi piace programmare in C.
Ho un problema... nonostante l'installazione completa di Linux Mandrake 7
Usando K Develop 1.0 non ho trovato la libreria iostream.h
mentre tutte le altre ci sono.....
Facendo la ricerca.... non esiste nessun file sull' HD che si chiami iostream.h
Ho provato a copiare il file di una versione di Turbo C ma pare che non sia
compatibile....
Grazie... Ciao.

mentre tutte le altre ci sono.....
Tutte le altre *specifiche* di C++ ? o solo quelle C ?
Con Linux viene distribuito il gcc, e' gia' predisposto per compilare
codice C++ ?

Linux, c e c++ sono case sensitive prova Iostream.h

 Facendo la ricerca.... non esiste nessun file sull' HD che si chiami iostream.h
Devi installare però anche il gcc e soprattutto il compilatore C++ ed
anche le librerie di sviluppo
Lorenzo
-- 
+-----------------------------------------------------+
|  Lorenzo Bettini          ICQ# lbetto, 16080134     |
|  PhD student in Computer Science                    |
|  Florence - Italy         (Linux User # 158233)     |
|  Home Page        : 
http://w3.newnet.it/bettini
     |
|           
http://infostud.dsi.unifi.it/~bettini
     |
|  Mail Home        : 
lorenzo...@penteres.it
     |
|  Mail University  : 
bet...@dsi.unifi.it
            |
|  
http://www.mokabyte.it
       Java on line journal  |
|  
http://rap.dsi.unifi.it/xklaim
    XKlaim language  |
|  
http://www.gnu.org/software/java2html
              |
+-----------------------------------------------------+

 Facendo la ricerca.... non esiste nessun file sull' HD che si chiami iostream.h
Hai cercato iostream senza il .h? E' quello il file standard.
EMG

> Linux, c e c++ sono case sensitive prova Iostream.h
Ehm... non credo : semmai "iostream.h"

> Hai cercato iostream senza il .h? E' quello il file standard.
Ma esiste la possibilita' che non vi sia estensione ?
La mancanza della specificazione dell'estensione nella direttiva
#include non e' dovuta alla portabilita' ?


L'importante è che alla richiesta #include <iostream> corrisponda
l'inclusione delle dichiarazioni richieste. Il file iostream poi
potrebbe anche non esistere. Comunque nel DJGPP, ad esempio, esiste sia
iostream (che a sua volta include iostream.h) e sia, immagino per
compatibilità con i vecchi programmi scritti in C++ pre-standard,
iostream.h.
EMG

 #include non e' dovuta alla portabilita' ?
Un compilatore puo` scegliere qualsiasi strategia preferisca
per implementare gli header standard.
Le due strategie piu` popolari oggi sono la presenza di file
senza estensione (o con una estensione speciale, riservata e
misteriosa), usati col normale meccanismo di #include del
preprocessore; e l'inclusione delle stesse informazioni di
tipo testuale in un database specializzato (mi pare che IBM
Visual Age C++ andasse in quest'ultima direzione).
Ma non vi e` alcun obbligo per il compilatore di avere queste
informazioni in alcuna forma testuale; puo` benissimo invece
semplicemente riconoscere, tipo "parole-chiave", la presenza
di, e.g., "#include <iostream>", usando questa presenza come
"switch binario on/off" per abilitare/disabilitare le feature
coinvolte in quel dato "standard-header".
Si noti che questo e` possibile, appunto, solo per gli header
standard (ed eventuali estensioni conformanti basate sullo
stesso modello), grazie al ruolo di "parole riservate" svolto
da namespace std ecc ecc.
Per intenderci, un programma del genere:
#define std PIPPO
#include <iostream>
#undef std
    // ...
    std::cout << "Bah!\n";
    // ...
NON e` fully-conformant, e un compilatore conformante puo`
"fare di esso quello che vuole" -- tipicamente, ad esempio,
il programma puo` dare errori di compilazione o link, oppure
compilare e linkare con successo ma fallire in esecuzione,
o infine ancora puo` capitare che abbia pieno successo, a
totale discrezione del compilatore.
Non e`, insomma, ammesso (per un programma fully conformant)
che si "giochi" con il preprocessore "attorno" agli header
standard -- e questo permette (potenzialmente) implementazioni
efficientissime e molto speciali delle feature previste negli
header stessi.
Alex