Was ist der Effekt von externem „C“ in C ++

Was ist der Effekt von externem „C“ in C ++
extern "C" ist ein Schlüsselwort in der C ++ - Sprache, das angibt, dass eine Funktion oder Variable als C -Funktion oder Variable behandelt werden sollte. Der Grund ist, dass C und C ++ unterschiedliche Konventionen für die Funktion verwenden und es nicht möglich ist, eine C ++ - Funktion direkt aus dem C -Code aufzurufen.

Auswirkung von externem „C“ in c++

Der Effekt von extern "C" In C ++ wird der Compiler angewiesen. Dies ist notwendig, da C ++ unterschiedliche Namens- und Verknüpfungsregeln hat als C.

Wenn Sie eine Funktion oder Variable angeben, verwenden Sie extern "C", Der Compiler generiert einen Symbolnamen, der den Conventions- und Verknüpfungsregeln für C -Namenszahlen folgt, wodurch er mit C -Bibliotheken und anderen Programmen kompatibel ist, die C -Verknüpfung verwenden. Auf diese Weise können C ++ - Programme Funktionen aus C -Bibliotheken aufrufen.

Der Hauptzweck der extern "C" Schlüsselwort besteht darin, die Interoperabilität zwischen Programmen in verschiedenen Sprachen zu ermöglichen. Ohne es wäre C ++ nicht in der Lage, “sprechen”Zu Programmen, die in anderen Sprachen wie Java, C#und vielen anderen geschrieben wurden. Mit diesem Schlüsselwort kann auf ein in C ++ - Code deklarierter Objekt durch ein in einer anderer Sprache geschriebenes Programm zugegriffen werden, wodurch die Hindernisse für die Kommunikation zwischen verschiedenen Programmen reduziert werden. Auf diese Weise können Programme, die in verschiedenen Sprachen geschrieben wurden.

Der extern "C" Schlüsselwort kann auch einen indirekten Einfluss auf die Funktionalität und Leistung eines in der C ++ - Sprache geschriebenen Programms haben. Ein in C ++ geschriebenes Programm kann möglicherweise Teile in einer anderen Sprache geschrieben haben, z. B. Assemblercode. Der extern "C" Das Schlüsselwort kann verwendet werden, um auf diese Nicht-C ++-Funktionen aus einem C ++-Programm zuzugreifen. Die Verwendung dieses Schlüsselworts zum Zugriff auf Funktionen, die in einer anderen Sprache geschrieben wurden.

Außerdem die extern "C" Schlüsselwort kann verwendet werden, um die Integration von Drittanbietern zu erleichtern. Wenn ein Unternehmen oder eine Organisation in einer anderen Sprache als C ++ ein externes Modul oder Tool entwickelt, ist die "Extern C" Schlüsselwort kann verwendet werden, um auf Funktionen und Objekte aus diesem Modul oder Tool im C ++ - Code zugreifen zu können. Dies erleichtert das externe Modul oder Tool einfacher zu verwenden und gewährleistet die Kompatibilität mit dem C ++ - Programm.

Schauen wir uns ein einfaches Beispiel an, um den Wert der INT -Variablen in der Ausgabe zu erhalten.

#enthalten
void func (int a)

std :: Cout << "The value of a is " << a << std::endl;

int main ()
Func (35);
Rückkehr 0;

Wenn wir den obigen Code C ++ - Code im Compiler ausführen, gibt er den Wert von aus A als 35.

Wenn wir jedoch dieselbe Funktion in einem C -Programm aufrufen möchten, werden wir auf ein Problem stoßen.

#enthalten
externer void func (int);
int main ()
Func (35);
Rückkehr 0;

Um den obigen Fehler zu beheben, müssen wir die verwenden extern "C" Schlüsselwort zur Bestätigung des C ++-Compiler, um einen Funktionsnamen des C-Stils für die obige Funktion zu generieren, damit der C-Compiler den Code erkennt.

#enthalten
externe "c" void func (int a)
std :: Cout << "The value of a is " << a << std::endl;

int main ()
Spaß (35);
Rückkehr 0;

Abschluss

Der extern "C" Das Schlüsselwort ist eines der nützlichsten Schlüsselwörter in jeder C ++ - Sprache. Dadurch können Benutzer C ++ - Code in C -Code oder beim Schreiben von C ++ - Bibliotheken, die für die C -Programmierung entwickelt werden, integrieren. Die oben genannte Richtlinie liefert nützliche Informationen, um die Wirkung des extern "C" Schlüsselwort mit Beispielcodes, um klar zu zeigen, wie extern "C" wird in c verwendet++.