Was bedeutet die extern
Stichwort bedeuten? Ich habe das vor einer Funktionsdeklaration wie gesehen
extern void DoFoo ...
DontWatchMyProfile
Was bedeutet die extern
Stichwort bedeuten? Ich habe das vor einer Funktionsdeklaration wie gesehen
extern void DoFoo ...
extern
gibt einen Namen externe Verknüpfung. Das bedeutet, dass das Objekt oder die Funktion unter diesem Namen von anderen Übersetzungseinheiten im Programm aus zugänglich ist. Für Funktionen ist dies in jedem Fall die Standardverknüpfung, sodass ihre Verwendung (in diesem Zusammenhang) normalerweise überflüssig ist.
Romain Hippeau
Das Schlüsselwort extern deklariert eine Variable oder Funktion und gibt an, dass sie eine externe Verknüpfung hat (ihr Name ist in anderen Dateien als der, in der sie definiert ist, sichtbar). Beim Ändern einer Variablen gibt extern an, dass die Variable eine statische Dauer hat (sie wird zugewiesen, wenn das Programm beginnt, und freigegeben, wenn das Programm endet). Die Variable oder Funktion kann in einer anderen Quelldatei oder später in derselben Datei definiert werden. Deklarationen von Variablen und Funktionen im Dateibereich sind standardmäßig extern.
Sie finden eine vollständigere Beschreibung hier.
Sujanant
Für Anfänger,
Anfangs war ich verwirrt, als ich das erfuhr: “Das Schlüsselwort extern deklariert eine Variable oder Funktion und gibt an, dass sie eine externe Verknüpfung hat “ von @Romain Hippeau.
Jetzt habe ich verstanden, dass wir unsere Variablen über das Schlüsselwort extern mit anderen Klassen teilen können.
Beispiel: Notification.h
#import <Foundation/Foundation.h>
extern const NSString* notificationConstant;
Benachrichtigung.m
#import "Notification.h"
const NSString* notificationConstant = @"NotificationConstant";
Durch Importieren von notification.h in eine meiner anderen Klassen kann ich den Wert der Zeichenfolge NotificationConstant lesen.
Ohne externes Schlüsselwort For Notification wird die Konstante folgenden Fehler erzeugen.
Gesehen
extern
in einer objektiven C .h-Datei, die einen Zeiger auf eine deklariertNSString
die Zeichenfolge wurde mit einem definiert@""
Convenience-Konstruktor in der entsprechenden .m-Datei (Implementierung).– Präriedogg
10. Mai 2010 um 9:30 Uhr
Finde diesen Link sehr hilfreich – en.wikipedia.org/wiki/External_variable
– sein Aboutcode
26. März 2012 um 14:49 Uhr
Mögliches Duplikat: 3 Fragen zu extern, die in einem Objective-C-Projekt verwendet werden
– mouviciel
31. Oktober 2013 um 6:34 Uhr