Aracılığıyla paylaş


Dış bağlantı belirtmek için kullanma

extern string-literal { declaration-list }
extern string-literal declaration

Notlar

extern Anahtar sözcüğünü bir değişken ya da işlev bildirir ve dış bağlantı (adı tanımlanmış dışındaki dosyaları görünür) olduğunu belirtir.Bir değişken değiştirirken extern değişkeni statik süresi (onu ayrılır programı başlar ve program sona erdiğinde ayırmanın) olduğunu belirtir.Değişken ya da işlevi başka bir kaynak dosyadaki veya daha sonra aynı dosyada tanımlanabilir.Varsayılan olarak dış değişkenleri ve işlevleri dosya kapsamında ilgili bildirimler.

Örnek

// 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;
}

Bir dize ile kullanıldığında C++ extern declarator(s) için bağlantı kuralları başka bir dilin kullanıldığını belirtir.Yalnızca Bunlar daha önce c bağlantı sahip olarak bildirilir, c işlevleri ve veri erişilebilir.Bununla birlikte, ayrı ayrı derlenmiş çeviri birimi cinsinden tanımlanmalıdır.

Microsoft C++ dizelerini destekler "c" ve "C++" , dize hazır bilgisi alan.Dosyaları kullanma dahil tüm standart extern "c" sözdizimini kullanarak C++ programlarında kullanılacak çalışma zamanı kitaplığı işlevlerini sağlar.

Aşağıdaki örnek c bağlantı varsa adlarını bildirmek için alternatif yolları gösterir:

// 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;

Ayrıca bkz.

Başvuru

C++ anahtar sözcükler

Bağlantı özellikleri

dış depolama sınıfı Belirleyicisi

Kavramlar

Davranış tanımlayıcıları

Bağlantı