Copertina
Autore Chris H. Pappas
CoautoreWilliam H. Murray III
Titolo La guida completa Visual C++ 5
EdizioneMcGraw-Hill, Milano, 1998 , Isbn 88-386-0467-3
OriginaleVisual C++ 5: The Complete Reference [1997]
LettoreRenato di Stefano, 1988
Classe informatica
PrimaPagina


per l'acquisto

 

| << |  <  |  >  | >> |

Indice


Introduzione                          XIII

PARTE PRIMA
UNA RAPIDA PANORAMICA SU VISUAL C++

Capitolo 1
Il compilatore Visual C++, versione 5    3

1.1  Hardware consigliato                5
1.2  Una tipica installazione Windows    7
1.3  Documentazione                      8
1.4  Il sistema di sviluppo              9
1.5  Novità                             12
1.6  Importanti caratteristiche
     del compilatore                    14
1.7  Opzioni del compilatore            18

Capitolo 2
Utilizzo dell'IDE                       23

2.1  Avvio dell'IDE di Visual C++       24
2.2  Accesso alla guida
     sensibile al contesto              24
2.3  Informazioni generali sui menu     25
2.4  Barre degli strumenti fisse e
     mobili                             26
2.5  Il menu File                       27
2.6  Il menu Edit                       31
2.7  Il menu View                       36
2.8  Il menu Insert                     39
2.9  Il menu Project                    40
2.10 Il menu Build                      42
2.11 Il menu Tools                      45
2.12 Il menu Window                     48
2.13 Il menu Help                       50

Capitolo 3
Scrittura, compilazione e debugging     53

3.1  Avvio di Developer Studio          54
3.2  Creazione del primo programma      54
3.3  Modifica del codice sorgente       56
3.4  Salvataggio dei file               57
3.5  Creazione del file eseguibile      58
3.6  Debugging dei programmi            62
3.7  Esecuzione del primo programma     70
3.8  Tecniche avanzate di debugging     76
3.9  Premessa al capitolo seguente      78

Capitolo 4
Caratteristiche avanzate di Visual C++  79

4.1  Creazione di risorse del sistema   80
4.2  Documentazione in linea            83
4.3  Strumenti di diagnostica           87
4.4  Premessa al capitolo seguente      90

PARTE SECONDA
FONDAMENTI DI PROGRAMMAZIONE

Capitolo 5
Programmazione in C e C++               93

5.1  Storia del C                       93
5.2  American National Standards
     Institute, ANSI C                 100
5.3  Dal C al C++ e alla programmazione
     orientata agli oggetti            102
5.4  Storia del C++                    103
5.5  Componenti fondamentali
     di un programma in C/C++          109

Capitolo 6
Operazioni sui dati                    123
6.1  Identificatori                    124
6.2  Parole chiave                     126
6.3  Tipi di dati standard
     del C e del C++                   126
6.4  Modificatori di accesso           135
6.5  Modificatori pascal, cdecl,
     near, far e huge                  138
6.6  Conversione di tipi di dati       141
6.7  Classi di memoria                 143
6.8  Operatori particolari             148
6.9  Livelli di precedenza
     degli operatori                   158
6.10 Librerie standard C e C++         159

Capitolo 7
Controllo dei programma                167

7.1  Controlli condizionali            167
7.2  Controlli di ciclo                182

Capitolo 8
Scrittura e utilizzo di funzioni       201

8.1  Prototipo di una funzione         202
8.2  Argomenti delle funzioni          208
8.3  Tipi restituiti dalle funzioni    215
8.4  Argomenti della riga di comando   224
8.5  Funzioni in C e in C++            228
8.6  Regole da non violare
     per le funzioni                   233

Capitolo 9
Array                                  239

9.1  Che cosa sono gli array?          239
9.2  Proprietà degli array             240
9.3  Dichiarazioni di array            241
9.4  Inizializzazione di array         242
9.5  Accesso agli elementi dell'array  244
9.6  Calcolo della dimensione
     degli array                       247
9.7  Indici degli array fuori
     dai limiti                        249
9.8  Output e input di stringhe        250
9.9  Array multidimensionali           252
9.10 Array come argomenti di funzioni  256
9.11 Funzioni per stringhe e
     array di caratteri                264

Capitolo 10
Puntatori                              271

10.1 Variabili puntatore               272
10.2 Puntatori a funzioni              296
10.3 Memoria dinamica                  300
10.4 Puntatori e array:
     uno sguardo ravvicinato           305
10.5 Tipo di riferimento del C++       319

Capitolo 11
Operazioni di I/O in C                 323

11.1 Funzioni per la gestione
     dei flussi di dati                325
11.2 Input e output a basso
     livello in C                      330
11.3 Input e output di caratteri       331
11.4 Input e output di stringhe        333
11.5 Input e output di interi          335
11.6 Formattazione dell'output         338
11.7 Utilizzo di fseek(),
     ftell() e rewind()                344
11.8 Formattazione dell'input          349

Capitolo 12
Introduzione alle operazioni
di I/O in C++                          353

12.1 Operazioni di I/O più semplici
     con il C++                        353
12.2 Da STREAM.H a IOSTREAM.H          362

Capitolo 13
Strutture, union e altri argomenti     379

13.1 Le strutture                      379
13.2 Le union                          399
13.3 Argomenti vari                    401

Capitolo 14
Programmazione avanzata                407

14.1  Compatibilità fra tipi           408
14.2  Le macro                         411
14.3  Istruzioni al preprocessore      416
 

| << |  <  |  >  | >> |

Pagina 93

Capitolo 5
Programmazione in C e C++


A cominciare da questo capitolo vengono trattati l'origine, la sintassi e l'utilizzo dei linguaggi C e C++. Uno studio della storia del C è utile perché spiega il successo della filosofia di progetto del linguaggio e aiuta a capire perché il C e il C++ potrebbero essere i linguaggi da scegliere per il futuro. Prima di procedere, occorre avere acquisito familiarità con l'ambiente di sviluppo Microsoft C/C++. A questo punto si dovrebbe aver già installato il pacchetto, averlo configurato secondo le proprie personali esigenze e aver provato l'utilizzo del compilatore e del debugger integrato.

5.1 Storia dei C

Per trattare le origini del linguaggio C occorre iniziare a parlare del sistema operativo UNIX, dal momento che sia il sistema sia la maggior parte dei programmi che vengono eseguiti in esso sono scritti in C. Questo tuttavia non significa che il C sia legato a UNIX o a qualsiasi sistema operativo o macchina. L'ambiente di sviluppo UNIX/C ha dato al C la fama di un linguaggio di programmazione di sistemi, perché è utile per scrivere compilatori e sistemi operativi. Il C è anche utile per scrivere la maggior parte dei programmi in molti campi diversi.

Il sistema operativo UNIX fu originariamente sviluppato nel 1969 su quello che sarebbe ora considerato un piccolo DEC PDP-7 presso i laboratori Bell a Murray Hill nel New Jersey. UNIX fu scritto interamente nel linguaggio assembler del PDP-7.

Questo sistema operativo era stato progettato in modo da facilitare il compito del programmatore, fornendo utili strumenti di sviluppo, pochi comandi e un ambiente relativamente aperto. Subito dopo lo sviluppo di UNIX, Ken Thompson implementò un compilatore per un nuovo linguaggio chiamato B.

A questo punto è utile esaminare le origini e la storia del linguaggio B di Ken Thompson, un diretto predecessore del C. Di seguito è riportato un elenco completo di linguaggi da cui deriva il C:

LINGUAGGIO  ORIGINI/INVENTORE

Algol 60    Progettato da un comitato
            internazionale all'inizio
            del 1960.

CPL         Combined Programming Language,
            sviluppato a Cambridge e
            all'università di Londra
            nel 1963.

BCPL        Basic Combined Programming
            Language,
            sviluppato a Cambridge da
            Martin Richards nel 1967.

B           Sviluppato da Ken Thompson,
            Bell Labs, nel 1970.

C           Sviluppato da Dennis Ritchie,
            Bell Labs, nel 1972.

Poi nel 1973 fu formato il comitato dell'American National Standards Institute (ANSI) con lo scopo di creare l'ANSI C, una standardizzazione del linguaggio C.

L'Algol 60 è un linguaggio apparso alcuni anni dopo l'introduzione del FORTRAN. Questo nuovo linguaggio all'epoca era più complesso ed ebbe una grande influenza sul progetto dei futuri linguaggi di programmazione; i suoi autori prestarono molta attenzione alla regolarità della sintassi, alla struttura modulare e ad altre caratteristiche di solito associate ai linguaggi strutturati ad alto livello. Sfortunatamente, l'Algol 60 non si diffuse mai veramente negli Stati Uniti, a parere di molti per l'astrazione e la genericità del linguaggio. Gli inventori del CPL (Combined Programming Language) intendevano riportare i concetti elevati dell'Algol 60 alla realtà dei computer veri. Però, come l'Algol 60, il CPL era difficile da imparare e da implementare e per questo fu anch'esso un fallimento. Attenendosi ancora al meglio offerto dal CPL, i creatori del BCPL (Basic Combined Programming Language) vollero ridurre il CPL alle sue caratteristiche fondamentali.

Ken Thompson, quando progettò il linguaggio B per una prima implementazione di UNIX, stava cercando di semplificare ulteriormente il CPL. Egli riuscì a creare un linguaggio molto scarno che si adattava bene a essere utilizzato sull'hardware di cui disponeva. Tuttavia, sia per il BCPL sia per il B si esagerò troppo nell'ottimizzazione, ottenendo così linguaggi limitati, utili solo per trattare alcuni tipi di problemi.

Ad esempio, subito dopo che Ken Thompson aveva implementato il linguaggio B, fu presentata una nuova macchina, chiamata PDP-11. UNIX e il compilatore B furono subito trasferiti sulla nuova macchina. Anche se la PDP-11 era una macchina più grande della precedente PDP-7, rimaneva ancora abbastanza piccola rispetto agli standard attuali: aveva soltanto 24 K di memoria, dei quali 16 K erano utilizzati dal sistema, e 512 K di disco fisso. Si pensò di riscrivere UNIX in B, ma il linguaggio B era lento per il suo progetto interpretativo. C'era anche un altro problema: il B era orientato alla parola, ma la PDP-11 era orientata al byte. Per questi motivi, nel 1971 si cominciò a lavorare a un successore del B, chiamato C.

La creazione del C fu attribuita a Dennis Ritchie, che ripristinò alcune generalità perse nel BCPL e nel B. Egli realizzò questo attraverso un accorto utilizzo dei tipi di dati, conservando la semplicità e l'accesso diretto all'hardware che erano gli scopi di progetto originari del CPL.

Molti linguaggi sviluppati da persone singole (C, Pascal, Lisp e APL) presentano una coesione interna che manca a quelli creati da ampi gruppi di programmatori (Ada, PL/1 e Algol 60) e inoltre riflettono il campo di competenza

[...]

 


Scheda con 32740 bytes di citazioni.
Pubblicazione completa della scheda in attesa di autorizzazione dell'editore.

| << |  <  |