Heim  >  Artikel  >  php教程  >  So verwenden Sie extern in der C-Sprache

So verwenden Sie extern in der C-Sprache

高洛峰
高洛峰Original
2016-12-19 14:38:311805Durchsuche

In der C-Sprache wird der Modifikator extern vor der Deklaration einer Variablen oder Funktion verwendet, um anzugeben, dass „diese Variable/Funktion an anderer Stelle definiert ist und hier referenziert werden sollte“.

1. Extern geänderte Variablendeklaration. Wenn beispielsweise die Datei a.c auf die Variable int v in b.c verweisen muss, können Sie extern int v in a.c deklarieren und dann auf die Variable v verweisen. Hierbei ist zu beachten, dass das Link-Attribut der referenzierten Variablen v ein externer Link (extern) sein muss, damit a.c auf v verweist. Dies hängt nicht nur von der Deklaration von extern int v in a.c ab. hängt aber auch von der Variablen v selbst ab, die in Anführungszeichen gesetzt werden kann. Dies betrifft ein weiteres Thema in der C-Sprache – den Umfang von Variablen. Variablen, auf die andere Module mit dem Modifikator extern verweisen können, sind normalerweise globale Variablen. Ein weiterer sehr wichtiger Punkt ist, dass extern int v an einer beliebigen Stelle in a.c platziert werden kann. Sie können beispielsweise extern int v am Anfang der Definition der Funktion fun in a.c deklarieren und dann auf die Variable v verweisen kann nur im Funktionsumfang auf v verweisen. Dies ist immer noch ein Problem des Variablenumfangs. Diesbezüglich haben viele Menschen Bedenken bei der Verwendung. Es scheint, dass die externe Anweisung nur im Dateibereich verwendet werden kann.

2. Extern geänderte Funktionsdeklaration. Im Wesentlichen gibt es keinen Unterschied zwischen Variablen und Funktionen. Der Funktionsname ist ein Zeiger auf den Anfang des Binärblocks der Funktion. Wenn die Datei a.c beispielsweise auf eine Funktion in b.c verweisen muss, ist der Prototyp in b.c int fun (int mu), dann können Sie extern int fun (int mu) in a.c deklarieren und dann fun verwenden, um alles zu tun. Genau wie die Deklaration einer Variablen kann extern int fun (int mu) an einer beliebigen Stelle in a.c platziert werden und muss nicht unbedingt im Dateibereich von a.c platziert werden. Die häufigste Art, auf Funktionen in anderen Modulen zu verweisen, sind Header-Dateien, die Deklarationen dieser Funktionen enthalten. Was ist der Unterschied zwischen der Verwendung von extern und dem Einfügen einer Header-Datei zum Verweisen auf eine Funktion? Die externe Referenzmethode ist viel einfacher als das Einbinden der Header-Datei! Die Verwendung von extern ist unkompliziert. Verwenden Sie extern, um zu deklarieren, auf welche Funktion Sie verweisen möchten. Dies ist wahrscheinlich eine Manifestation des KISS-Prinzips! Ein offensichtlicher Vorteil dieser Vorgehensweise besteht darin, dass der Prozess der Programmkompilierung (genauer gesagt die Vorverarbeitung) beschleunigt und Zeit gespart wird. Dieser Unterschied wird bei der Kompilierung großer C-Programme sehr deutlich.

3. Darüber hinaus kann der externe Modifikator verwendet werden, um die aufrufende Spezifikation von C- oder C++-Funktionen anzugeben. Um beispielsweise eine C-Bibliotheksfunktion in C++ aufzurufen, müssen Sie extern „C“ verwenden, um die Funktion zu deklarieren, auf die im C++-Programm verwiesen werden soll. Dies wird vom Linker verwendet, um ihn anzuweisen, beim Linken die C-Funktionsspezifikation zu verwenden. Der Hauptgrund ist, dass die Benennungsregeln im Zielcode nach der Kompilierung von C++- und C-Programmen unterschiedlich sind.



Weitere Artikel zur Verwendung von extern in der C-Sprache finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn