Utilizzando esterno per specificare collegamento
extern string-literal { declaration-list }
extern string-literal declaration
Note
extern la parola chiave dichiara una variabile o una funzione e specifica che ha collegamento esterno (il nome è visibile da file diverso da quello in cui è definito).Quando si gestisce una variabile, extern specifica che la variabile abbia durata statica (viene allocata quando il programma viene avviato e ha rilasciato alla fine del programma).La variabile o la funzione può essere definita in un altro file di origine, o versioni successive nello stesso file.Le dichiarazioni di variabili e funzioni in ambito file sono esterne per impostazione predefinita.
Esempio
// specifying_linkage1.cpp
int i = 1;
void other();
int main() {
// Reference to i, defined above:
extern int i;
}
void other() {
// Address of global i assigned to pointer variable:
static int *external_i = &i;
// i will be redefined; global i no longer visible:
// int i = 16;
}
In C++, se utilizzato con una stringa, extern specifica che le convenzioni di associazione di un altro linguaggio utilizzati per i dichiaratori.Le funzioni e i dati di C# può essere eseguito solo se in precedenza sono dichiarate come dotata di collegamento c.Tuttavia, devono essere definiti in un'unità di conversione separatamente compilata.
Microsoft C++ supporta le stringhe “C„ e “C++„ in valore letterale stringa campo.Tutti i file di inclusione standard utilizzano extern La sintassi “c„ per consentire la libreria di runtime viene eseguito per essere utilizzata nei programmi C++.
Le alternative di seguito viene illustrato dichiarare i nomi con collegamento c:
// specifying_linkage2.cpp
// compile with: /c
// Declare printf with C linkage.
extern "C" int printf( const char *fmt, ... );
// Cause everything in the specified header files
// to have C linkage.
extern "C" {
// add your #include statements here
#include <stdio.h>
}
// Declare the two functions ShowChar and GetChar
// with C linkage.
extern "C" {
char ShowChar( char ch );
char GetChar( void );
}
// Define the two functions ShowChar and GetChar
// with C linkage.
extern "C" char ShowChar( char ch ) {
putchar( ch );
return ch;
}
extern "C" char GetChar( void ) {
char ch;
ch = getchar();
return ch;
}
// Declare a global variable, errno, with C linkage.
extern "C" int errno;
Vedere anche
Riferimenti
identificatore esterno della classe di archiviazione