Announcement

Collapse
No announcement yet.

was bedeutet der befehl extern und wie setze ich ihn richtig ein?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • was bedeutet der befehl extern und wie setze ich ihn richtig ein?

    hi,

    was bedeutet der befehl extern und wie setze ich ihn richtig ein?

    gruß

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Soviel sagt die Hilfe zu "extern":

    Kategorie: Speicherklassen-Spezifizierer

    Syntax: extern < daten_definition > ;
    [extern] < funktions_prototyp > ;

    Beschreibung: Der Modifizierer teilt dem Compiler mit, daß der Speicherplatz und der Initialisierungswert einer Variablen bzw. der Rumpf einer Funktion effektiv in einem anderen Quelltextmodul definiert wird. Funktionen, die mit extern deklariert sind, sind in allen Quelltextdateien eines Programms sichtbar, sofern Sie die Funktion nicht als static definieren. Bei Funktionsprototypen ist das Schlüsselwort extern optional. Schreiben Sie in C++ extern "c", um zu verhindern, daß Funktionsnamen verändert werden.

    Im Klartext: In Datei A.CPP hast Du eine Funktion, Methode, Variable oder ein Objekt, auf das Du aus Datei B.CPP zugreifen möchtest. Dann schreibst Du eine Datei A.H mit z.B. extern int x; und includest diese in der Datei B.CPP, und zusätzlich - obwohl nicht unbedingt nötig - in Datei A.CPP ( Um Compilerwarnungen zu erhalten wenn die Definitionen nicht übereinstimmen ).

    Alles klar ? - Gruß: Günther
    alles klar
    Günther

    Comment


    • #3
      hi,

      ist das gleichzusetzen mit dem public von delphi?

      gruß

      marku
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment


      • #4
        Das Public gibt es auch bei C++. "extern" ist nicht das Gleiche, aber etwas ähnliches
        Günther

        Comment


        • #5
          hier ein Beispiel:

          Unit1.cpp

          int Anzahl=5000;

          In Unit2.cpp will ich auf die Variable zugreifen. Also binden wir als erstes die entsprechende Header-Datei in Unit2.cpp ein (Menü Datei). Nun will ich aber mit der Variablen Anzahl arbeiten->

          extern int Anzahl;

          ....beliebiger Code

          Der Compiler "weiß" nun, dass der Speicherplatz von Anzahl außerhalb dieser Unit liegt und meckert nicht herum.

          Christia
          Christian

          Comment


          • #6
            danke!
            Herzliche Grüße

            Markus Lemcke
            barrierefreies Webdesign

            Comment

            Working...
            X