Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
In questa pagina viene fornito il collegamento alla guida relativa allo sviluppo dalla riga di comando tramite Visual C++. Per visualizzare altre categorie di attività comuni trattate nella Guida, vedere Procedure relative a Visual C++.
Visual C++ sulla riga di comando
Compilazione di un programma C++ nativo dalla riga di comando (C++)
Viene illustrato come creare un semplice programma Visual C++ con un editor di testo e come compilarlo sulla riga di comando.Opzioni del compilatore
Vengono fornite informazioni introduttive relative a CL.exe, uno strumento che controlla il linker e i compilatori Microsoft C e C++.Opzioni del linker
Vengono fornite informazioni introduttive su LINK, uno strumento che consente di collegare file in formato oggetto comune (COFF, Common Object File Format) e librerie per creare un file eseguibile (con estensione exe) o una libreria a collegamento dinamico (DLL).Riferimenti a NMAKE
Vengono fornite informazioni introduttive relative a Microsoft Program Maintenance Utility (NMAKE.EXE), uno strumento che consente di generare progetti sulla base di comandi contenuti in un file di descrizione.Funzionalità NMAKE in Visual C++ 2005
Vengono elencate le nuove funzionalità NMAKE in Visual C++ 2005.Riferimenti a VCBUILD
Viene illustrato come utilizzare VCBUILD.exe per generare progetti Visual C++ e soluzioni Visual Studio dalla riga di comando.Procedura: eseguire generazioni multiprocessore con VCBUILD
Viene illustrato come utilizzare VCBUILD per eseguire generazioni multiprocessore dalla riga di comando.Introduzione a Visual C++ per utenti UNIX
Vengono fornite informazioni utili agli utenti UNIX che non hanno familiarità con Visual C++ e che desiderano apprenderne l'utilizzo.Impostazione delle variabili di percorso e di ambiente per la generazione dalla riga di comando
Viene illustrato come eseguire vcvars32.bat per impostare l'ambiente per la compilazione nella riga di comando.
Esempi di Visual C++
Matrici
How to: Create Single-Dimension Arrays
Viene illustrato come creare matrici monodimensionali di tipi di puntatore nativo, valore e riferimento.How to: Create Multidimension Arrays
Viene illustrato come creare matrici multidimensionali di tipi di puntatore nativo, valore e riferimento.How to: Iterate Over Arrays with for each
Viene illustrato come utilizzare la parola chiave for each, in su tipi diversi di matrici.How to: Create Arrays of Managed Arrays (Jagged Arrays)
Viene illustrato come creare matrici monodimensionali di matrici gestite di tipi di puntatore nativo, valore e riferimento.How to: Sort Arrays
Viene illustrato come utilizzare il metodo Sort per ordinare gli elementi di una matrice.How to: Sort Arrays Using Custom Criteria
Viene illustrato come ordinare le matrici implementando l'interfaccia IComparable.How to: Make Typedefs for Managed Arrays
Viene illustrato come creare un typedef per una matrice gestita.... (Variable Argument Lists)
Viene illustrato come implementare in Visual C++ funzioni con un numero variabile di argomenti tramite la sintassi ....How to: Use Managed Arrays as Template Type Parameters
Viene illustrato come utilizzare una matrice gestita come parametro per un modello.How to: Declare and Use Interior Pointers and Managed Arrays
Viene illustrato come dichiarare e utilizzare un puntatore interno a una matrice.
Boxing e cast
How to: Use gcnew to Create Value Types and Use Implicit Boxing
Viene illustrato come utilizzare gcnew su un tipo di valore per creare un tipo di valore boxed che potrà essere inserito nell'heap gestito sottoposto alla procedura di Garbage Collection.How to: Unbox
Viene illustrato come eseguire l'unboxing e modificare un valore.How to: Explicitly Request Boxing
Viene illustrato come richiedere in modo esplicito il boxing assegnando una variabile a una variabile di tipo Object.How to: Downcast with safe_cast
Viene illustrato come eseguire il downcast da una classe base a una classe derivata dalla classe base utilizzando safe_cast.How to: Use safe_cast and Boxing
Viene illustrato come utilizzare safe_cast per eseguire il boxing di un valore sull'heap CLR.How to: Use safe_cast and Generic Types
Viene illustrato come utilizzare safe_cast per eseguire un downcast con un tipo generico.How to: Use safe_cast and Unboxing
Viene illustrato come utilizzare safe_cast per eseguire l'unboxing di un valore sull'heap CLR.How to: Use safe_cast and User-Defined Conversions
Viene illustrato come chiamare conversioni definite dall'utente tramite safe_cast.How to: Upcast with safe_cast
Viene illustrato come eseguire un upcast, un cast da un tipo derivato a uno delle relative classi base, tramite safe_cast.
Tipi di dati e interfacce
How to: Instantiate Classes and Structs
Viene illustrato che è possibile creare un'istanza dei tipi di valore e di riferimento solo sull'heap gestito, non sullo stack o sull'heap nativo.How to: Convert with Constructors
Vengono fornite informazioni introduttive relative ai costruttori di conversione, ovvero costruttori che accettano un tipo e lo utilizzano per creare un oggetto.How to: Define an Interface Static Constructor
Vengono fornite informazioni introduttive relative ai costruttori statici, ovvero costruttori che è possibile utilizzare per inizializzare membri dati statici.How to: Define Static Constructors in a Class or Struct
Viene illustrato come creare un costruttore statico.How to: Write Template Functions that Take Native, Value, or Reference Parameters
Viene illustrato che mediante l'utilizzo di un riferimento di rilevamento nella firma di una funzione template è possibile assicurare che la funzione possa essere chiamata con parametri il cui tipo è nativo, di valore o di riferimento CLR.
Enumerazioni
How to: Specify Underlying Types of Enums
Viene illustrato come specificare il tipo sottostante di enum.How to: Convert Between Managed and Standard Enumerations
Viene illustrato come eseguire la conversione tra enum e un tipo integrale tramite un cast.
Eventi e delegati
How to: Compose Delegates
Viene illustrato come comporre delegati.How to: Define and Use Delegates
Viene illustrato come definire e utilizzare un delegato.How to: Define and Use Static Events
Viene illustrato come definire e utilizzare eventi statici.How to: Define Event Accessor Methods
Viene illustrato come definire il comportamento di un evento quando i gestori vengono aggiunti o rimossi e quando viene generato un evento.How to: Implement Abstract Events
Viene illustrato come implementare un evento astratto.How to: Implement Managed Virtual Events
Viene illustrato come implementare eventi gestiti virtuali in un'interfaccia e in una classe.How to: Access Events in Interfaces
Viene illustrato come accedere a un evento in un'interfaccia.How to: Add Multiple Handlers to Events
Viene illustrato che un ricevente di eventi, o qualsiasi altro codice client, può aggiungere uno o più gestori a un evento.How to: Associate Delegates to Members of a Value Class
Viene illustrato come associare un delegato a un membro di una classe di valori.How to: Associate Delegates to Unmanaged Functions
Viene illustrato come associare un delegato a una funzione nativa eseguendo il wrapping di quest'ultima in un tipo gestito e dichiarando la funzione in modo che venga chiamata attraverso P/Invoke.How to: Override Default Access of add, remove, and raise Methods
Viene illustrato come eseguire l'override dell'accesso predefinito sui metodi di aggiunta, rimozione e generazione di eventi.How to: Raise Events Defined in a Different Assembly
Viene illustrato come utilizzare un gestore eventi e un evento definiti in un assembly da un altro assembly.
Eccezioni
Basic Concepts in Using Managed Exceptions
Vengono illustrati i concetti di base relativi alla gestione delle eccezioni nelle applicazioni gestite.Differences in Exception Handling Behavior Under /CLR
Vengono illustrate le differenze esistenti tra il comportamento standard della gestione delle eccezioni e alcune limitazioni.How to: Define and Install a Global Exception Handler
Viene illustrato come acquisire le eccezioni non gestite.How to: Catch Exceptions in Native Code Thrown from MSIL
Viene illustrato come rilevare le eccezioni CLR nel codice nativo con __try e __except.finally
Viene illustrata la clausola finally della gestione delle eccezioni CLR.
For Each
How to: Iterate Over Arrays with for each
Viene illustrato come utilizzare la parola chiave for each, in su tipi diversi di matrici.How to: Iterate Over a Generic Collection with for each
Viene illustrato come creare insiemi generici e come scorrerli tramite for each, in.How to: Iterate Over a User-Defined Collection with for each
Viene illustrato come scorrere un insieme definito dall'utente tramite for each, in.How to: Iterate Over STL Collection with for each
Viene illustrato come scorrere insiemi STL tramite for each, in.
Generics
Overview of Generics in Visual C++
Vengono fornite informazioni generali sui generics, tipi con parametri supportati da Common Language Runtime.Generic Functions
Vengono illustrate le funzioni generiche, ovvero funzioni dichiarate con parametri di tipo.Generic Classes (Visual C++)
Viene illustrato come creare una classe generica.Generic Interfaces (Visual C++)
Viene illustrato come creare un'interfaccia generica.Generic Delegates (Visual C++)
Viene illustrato come creare un delegato generico.Constraints
Viene illustrato che i vincoli sono un requisito che i tipi utilizzati come argomenti di tipo devono soddisfare.Consuming Generics from Other .NET Languages
Viene illustrato come i generics modificati in un linguaggio .NET possono essere utilizzati in altri linguaggi .NET.Generics and Templates
Vengono fornite informazioni generali relative alle molte differenze esistenti tra generics e modelli.How to: Convert Generic Classes
Viene illustrato come convertire una classe generica in T.
Puntatori
How to: Declare Interior Pointers with the const Keyword
Viene illustrato come utilizzare const nella dichiarazione di un puntatore interno.How to: Overload Functions with Interior Pointers and Native Pointers
Viene illustrato che è possibile eseguire l'overload delle funzioni a seconda che il tipo di parametro sia un puntatore interno o un puntatore nativo.How to: Cannot Use Tracking References and Unary "Take-Address" Operator
Viene illustrato che un riferimento di rilevamento non può essere utilizzato come un operatore unario di accettazione indirizzo.How to: Declare Pinning Pointers and Value Types
Viene illustrato che è possibile dichiarare un puntatore di blocco su un oggetto tipo di valore e utilizzare pin_ptr per il tipo di valore boxed.How to: Declare Value Types with the interior_ptr Keyword
Viene illustrato che è possibile utilizzare interior_ptr con un tipo di valore.How to: Define the Scope of Pinning Pointers
Viene illustrato che un oggetto è bloccato solo quando pin_ptr punta a esso.How to: Pin Pointers and Arrays
Viene illustrato come bloccare una matrice dichiarando un puntatore di blocco sul relativo tipo di elemento e bloccando uno degli elementi.
Proprietà
How to: Use Simple Properties
Viene illustrato che per proprietà semplici, ovvero proprietà che si limitano ad assegnare e a recuperare un membro dati privato, non è necessario definire in modo esplicito le funzioni di accesso get e set.How to: Use Indexed Properties
Viene illustrato come utilizzare le proprietà indicizzate definite dall'utente e predefinite.How to: Use Multidimensional Properties
Viene illustrato come creare proprietà multidimensionali che accettano un numero non standard di parametri.How to: Declare and Use Static Properties
Viene illustrato come dichiarare e utilizzare una proprietà statica.How to: Declare and Use Virtual Properties
Viene illustrato come dichiarare e utilizzare proprietà virtuali.How to: Declare Abstract and Sealed Properties
Viene illustrato come dichiarare una proprietà sealed o astratta definendo una proprietà non semplice e specificando le parole chiave abstract o sealed sulle funzioni di accesso get e set.How to: Overload Property Accessor Methods
Viene illustrato come eseguire l'overload di proprietà indicizzate.
Riferimenti di rilevamento
How to: Use Tracking References and Value Types
Viene illustrato il boxing semplice attraverso un riferimento di rilevamento a un tipo di valore.How to: Using Tracking References and Interior Pointers
Viene illustrato che accettando l'indirizzo di un riferimento di rilevamento viene restituito interior_ptr e come modificare e accedere a dati attraverso un riferimento di rilevamento.How to: Pass CLR Types by Reference with Tracking References
Viene illustrato come passare tipi CLR per riferimento con riferimenti di rilevamento.
Gestione di file con Visual C++
Procedura: leggere un file binario
Viene illustrato come leggere dati binari da un file.Procedura: scrivere un file binario
Viene illustrato come scrivere dati binari su un file.Procedura: leggere un file di testo
Viene illustrato come aprire e leggere un file di testo una riga alla volta.Procedura: scrivere un file di testo
Viene illustrato come creare un file di testo e come scrivere su di esso tramite la classe StreamWriter.Procedura: enumerare i file di una directory
Viene illustrato come recuperare un elenco dei file di una directory.Procedura: monitorare le modifiche del file system
Viene utilizzato FileSystemWatcher per eseguire la registrazione per eventi corrispondenti a file creati, modificati, eliminati o rinominati.Procedura: recuperare informazioni sui file
Viene illustrata la classe FileInfo. Conoscendo il nome di un file, è possibile utilizzare questa classe per recuperare informazioni sul file, ad esempio la dimensione, la directory, il nome completo, la data e l'ora di creazione e dell'ultima modifica.
Operazioni Windows con Visual C++
Procedura: inserire dati nel Registro di sistema di Windows
Viene utilizzata la chiave CurrentUser per creare un'istanza scrivibile della classe RegistryKey.Procedura: leggere i dati dal Registro di sistema di Windows
Viene utilizzata la chiave CurrentUser per leggere dati dal Registro di sistema di Windows.Procedura: recuperare testo dagli Appunti
Viene utilizzata la funzione membro GetDataObject per restituire un puntatore all'interfaccia IDataObject da cui richiedere il formato dei dati e recuperare i dati effettivi.Procedura: memorizzare testo negli appunti
Viene utilizzato l'oggetto Clipboard definito nello spazio dei nomi System.Windows.Forms per archiviare una stringa.Procedura: recuperare la versione di Windows
Viene illustrato come recuperare le informazioni relative alla piattaforma e alla versione del sistema operativo corrente.Procedura: recuperare il tempo trascorso dall'avvio
Viene illustrato come determinare il numero di millisecondi trascorsi dall'avvio di Windows.