[Playlisten] [Impressum und Datenschutzerklärung]

04.06 Sichtbarkeit static, extern


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

diese Sichtbarkeitkann man etwas steuernin zehnsollen Funktionen und Variablen die ich in der einen Datei habein der anderen Dateiauch sichtbar sein oder soll der Linker ignorierendass die Neandertaler denselben Namen haben zu tun als ob die sich nicht kennenich das immer gerade wiederzu heilen mich meine dumme Funktion rausPunkt auch dann alle nicht mehrniemalsheiß hier in der ersten Datei in der zweiten Datei Komma Minimalteilsoanfür den Index Nummer siebenwenn Sie folgendes Schreiben insA gleich nullund sie wollen diese Variableoder solche überschreiben Lückentextund sie wollen diese Variableauch in der anderen Datei nutzendann können Sie in der anderen Datei ja nicht schreibenDax achtkönnte in anderen Datei nicht dieses noch mal schreibenkönnen haben sie zwei Variablen von dieser Sorteund nicht eine nicht das sie kombiniereFehlerEntzweiarentschriearwie die vereintals wenn sie das versuchenich hätte gerne eine Variable Aden beiden Zederteilen sichtbar sein sollen ist auf diese Weise versuchen ihn da gleich Null in der einen Datei und in Anrechnung in der anderen Teige zunehmend auf die Finger in der Linker meinte sie wollen diese dann die diese Variable A zweimal einrichtendie Lösung dafür?? im gesinnten Begriff externe die Lösung dafür ist das in der anderen Datei sagenjemand anderswirddiese ?? einrichtenalso mit der Zeile hier sagen sie in einer anderen Seedateivielleicht sogar in einer anderen Header-Datei was erweitern richtig gute Idee in einer anderen Zieldateiist diese Variable eingerichtetextern ins davon wegen extern externewarendamit sage ich das und damit sollte jetzt das Mac auchdurchlaufenals in der ein oder in einer einzigen Zieldatei sage ich ich brauche eine Variablein einer??und in der anderen zittert oder in allen Dateien indem sie diese Variante verwenden wollen ?? sein ?? dieses hier eine externe Deklarationbitte diese Variable verwenden die irgendwo anders eingerichtet wird ?? ich sollte an der Stelle sagendas ist ?? globale Variableund globale Variablen sind im üblichen keine gute Ideeamversuchen Sie das zu verhindern so weit es gehtdenken Sie dran jemandbindet vielleicht mehrere Bibliotheken zusammendie eine Bibliothek hatten Variable A an der Bibliothek hatten Variable Arrangements wieder Ärger erschon aus dem Grund das Schlechte Idee versucht sie das sowieso zu verhindern und versuchen Sie von Variablen immerinnerhalb von Funktion zu habensoweitverschachtelttief rein verschachtelt in die Schweiz kann man dies nur irgendwieistallgemein die beste Idee aber wenn es sich nicht vermeiden lässt und sie brauchen eine Variable die inneren Stellen in ihren Dateien sichtbar es ist das die Lösung hier mit externhervorokaywenn siedas Problem habenzum Beispiel in einer Bibliothekdass sie so eine globale Variable was das soll eine globale Variable sein dass eine Variable brauchen die in der gesamten Datei sichtbar istdass die weiterführenden Textilaneine Variable brauchen die in der gesamten Datei sichtbar istdass sie aber blöderweisein der anderen Datei auch eine Variable gleichen Namens brauchen zum Beispiel weil jetzt jemand anders zu liefert diese Datei und deshalbwohlUnschulddenselben Namen verwendetwenn Sie das brauchen dieses besondereein Datei sei sichtbar sein eine Variable in deiner Teil undin dieser Datei eine Variable für sich ganz alleinin doppelter Weise auch wie heißt dann müssen Sie das tätig vorschreibendas ist ja komisch dass das tätig heißtamin beiden in beidendieses heißt jetztin dieser zweiten ?? in der zweiten Dateiblacegibt es eine Variable namens Baber nur in dieser Datei die lebt getrennt von einem andernund hier gibt es eine andere Variable namens Bliegt auch getrennt voneinander soll ich weitete mich mal vorführendu kannst schon mal Funktion tatsächlich Bauernwird es immer bisschen trainierenin?? heißtdaswarbei ?? Kommaund hier mach ich malhörenwiedu ja das wäre fiesAusrufezeichenwas andersfünfundvierzigwaren??ich sollte dazu noch mehr Header-Datei bauenvorher eine Header-Dateidass ich das ja verwenden kannanderswo?? ich schicke mal die in Stuttgart die würde man in professioneller Weise dazu machenseit Gründung ?? nichtsanders Beistrich als Header-Dateibla Punkt HPunkt Kommaso als ich auf einmal die Definitionin Blacefür diese Funktion hierim bla habe ich die Deklarationund jetzt kann in Mainemeine Funktion der verwenden in dem ichlahaarinfizierteKommaverwende man eine Funktion zurzeiligFunktion?? von irgendwasfünfundvierzigso ??ich bin gespannt?? kombiniert sogarÄrgerso dieses bewirken über ??geht dieses Babe benutz ich gerade niemalsklarsollte man noch Weg machen die Warnung das widerwillig benutzen das was ich gehe da jetzt mal inEinzelschritten durch und hoffe das ich wasvorzeigbaredamit generieren kannmandas erste was sie sehen ist das A und B hier gar nicht bei den Lokals stehen A und B sind ja auch keine logdas sind keine lokalen Variablen innerhalb von Funktiondie stehen außerhalb der Funktion die kriegen Sie hier wenn sie bei Youosticsanmachen also nicht nur lokal sondern staticAr damit wieSie sehen hier stehtLABder Wert von Bin der Dateiblaich werde zwei Jahre später zigmal verwenden in der Hoffnung dass mir der Compiler dann auchwas damitveranstaltetoder MordversuchA besser ist das Ergebnis über Jahre ordentlich verwendendamit sie eingerichtet wird an so Headsets schönersind das in den static Fenster zweimalB haben einmal die Kopie von Bsoll als Kopie einmal die Variante von B in der Datei bla und einmal wie in der ?? in der Datei mehr in die Läden getrennt voneinanderunterkommt und der Linker stört sich nicht andas man sie mit staticist eine Variable außerhalb der Funktionhabenund ständig davor schreibenhabt hat jede einzelne Zieldateiihre eigene Kopiewie sie die Kopien Lada sind die Kopien Maywarenmit Funktionengeht das ähnlichdieselbe komische Bezeichnung Weise tätig heißt bitte eine einzelne Kopie für diese Dateiund extern heißtjemand anders hat es definiertwas man bei Funktionennetterweise nicht aus ?? wieder zu schreiben und bei den Variablen müssen Sie ausdrücklich dazu schreiben extern jemand anders wird es einrichtenwarenbei den Funktionen klappt das netterweise ohne sechsterKommadass ?? ein funktionales Getreide für den Lückentext Nummer siebenArm wenn ich eine Funktion ?? Bauernamein den ich sie aber weder nette Funktion Ckeine guteden habeich die Funktion Csie nimmt eine Hintertürund gibt'sund gibt irgendwas dummes zurückPunkt siemussganz dringend dreizehnÖlwie sie diese Funktion anderswo verwenden ?? schon gesehen in den Header-Dateiam ich die wieder in die andere Datei wenn ich diese Funktion die ich hier in Maine C gebaut habe anderswo verwenden willgeht das auch ohne großes Bimbo rührenmuss einfachdie Deklarationhaben in der Formkönnte dieser Parteifunktionäre?? könnte ich auch externer vorschreiben muss man aber?? Funktion ist es einfacheres reicht diese Deklarationbestünde typischerweise der Header-Dateiund ich kann in dieser Datei meine Funktion C verwendendaswäre die dritte Zeile fällig und exaktwenn sie eine Funktionaber geheim halten wollensowie sie bei den Variablen der Variablen B in in zwei Dateien eine getrennte Kopie von Vegamit das mit Funktionen machen wollenjede Datei sollen eine Funktion habenPunkt obwohl der Name gleich istPunkt Schreiben Sie als der Tag davor sinnvollerweisedas geht dann an einem Tag sieben RheinNPDin der Form??und dann darf jetzt diese Dateilageine eigene Funktion habenwas anderes tutdies der Tag davor schreibenPunktalso habe ich jetzt in zwei Dateienjeweils eine Funktion namens Dekursenzwei verschiedene Funktionokayganz viele Variablen die ich deklariert habe aber nie Funktion nicht deklariert habe aber nie niemals benutzt habedannsollte so das manseinen??in A ist gleichdieBornStuder dannundnehmenindreiSomagruppenundWarnungen hat es ?? PunktX ja X ??X gen meine Stelle nichtbesser ist das nur noch eine Warnungdas AAtoll SA habe ich niemals verwendet sei soalsozusammenfassendwenn Sie eine Variable habendiein mehreren Dateien sichtbar sein sollenmüssen die Variablen der einen Datei ganz offiziell sodefinierenwie sie das kennenund in den anderen Dateien brauchen sieextern davorwenn Sie Variablen habenin verschickt haben wollen die verschiedenen Dateienden gleichen Namen haben auch Zins tätig davor in jeder der Dateienin der sie die haben wollen's tätigwenn die Funktionenin mehreren Dateien verwenden wollen das aber schon gemachtbis sie an einer Stelle eine Definitionhabenund in den anderen Dateieneine entsprechende Deklarationhabenwenn sie Funktionengleichen Namens in verschiedenen Dateien haben wollen verschiedene Funktionen gleichen Namens in mehren Lateiner wollen alles mit tätigund sie auch wieder standdanndiese Art von staticsieht sehr anders aus als das der Dickwasser schon gesehen hatten ja den schon einer solchen reinschreibt ja den schon ein anderes tätig vorgeführtanstatic innerhalb von Funktionenwas heißtdass diese bei Variable Zbeim nächsten Funktionsaufrufden Wert wieder Krieg den sie beim Verlassen der vorherigen?? des vorherigen Funktionsaufrufhatdie wirklich wieder neu gesetzt sondern behält den alten Wertgibt eine Variable mit Gedächtnis das hat mir schon alsDeutung des tätigan hier bekommt der Tick eine etwas andere Bedeutung rein technisch ist die Bedeutung sehr verwandt aber das will ich mir die Antwort amvom Gefühl her ist diese Bedeutung Ästhetik eine sehr andere ihr heiß tätigdiese Variable oder diese Funktion ist nur innerhalb dieser Datei sichtbarwas in anderen Dateien passiert schädlichund extern heißtjemand anderessoll gefälligstdiese Variable oder dann zum getauften weiter zu schreiben definierendas sindMöglichkeitendie man diese Sichtbarkeithier ändern kannbei den Kombinationsprozess