[Playlisten] [Impressum und Datenschutzerklärung]

10.01.1 Präprozessor, Compiler, Linker, include


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

zurWiederholungwollte ich noch mal mit dem KompilationsprozessanfangenText Nummer einswas passiert eigentlich wenn ein PC Programm genau sein C plus plus Programmkompiliert wirdwie lange zum Schluss eine ausführbareDatei auf der Festplatteoder auf dem Chiperste wesentliche Ding ist das man seine Programmeinkleine Teile zerhacktin Module wenn Sie wollenein Teil ist weit dafür zuständigirgendwelche Messwerte zu holen ein anderer Teil des weiter für zuständigirgendwas übers Internet zu versenden dritter Teil ist weiter zuständigwas anzuzeigenauf irgendein Display und so weiter und sofortjedes dieser Module würde man in eine eigene Zieldateireinpackenwohnteine besondere C Datei haben Maine Punkt zehnin der danndas Hauptprogramm stehtdas Hauptprogramm machtGebrauch von allen diesen Modulenbindet das ein was es braucht benutzte Funktion da wo sie benötigt werden und so weiterals ich am liebsten irgendwelche anderensoundsoC und Sohn zu Zederteilenneben der Menge Punkt sie?? mit der Hauptfunktionmit der Migrationdasunschöne bei C und C plus plusist das der Compilerjede Funktioneinmaldeklariert haben will bevor die verwendeten dasSchlechte ich dadurch nicht nur bei Funktioneiner Hand ist Fakt werden die ihn unsohne dass ?? enum definierte Samstag definiertes kann ich sie nicht verwenden ?? problematischalso so etwas wird man im Header Dateien einsteckenalsodie Funktionsbibliothekdie sich von mir ausmit der Fassung von Messwerten befassthat eine Header-Dateimit allen möglichen Deklarationenfleißige auch noch was Drucks definiert und bat ihn und definierteKonstanten angelegtInline Fusion was auch immerzu dieser Funktionsbibliothekzu dem ModulKomma sie das nennen wird es eine Header-Dateinie geben mit den ganzenDeklarationenvon Funktionen und anderen Sachendiese Header-Dateiwerde ich in der Maine C Dateieinbindendas macht der Präprozessormit Institutin der Mail Datei wird es irgendwoeinen Cloud Befehl gebenund der Präprozessorversteht diesen Include Befehl und Hund alles was in der Header-Dateisteht diese der Angebenreinin dieMainzedertalbindet das einoder andere Fusionsbibliothekhat wahrscheinlich aucheine Header-Datei soundso Punkt Hardy heißt UNSERE Punkt sie und die Header-Datei heißt dann sinnvollerweise soundso Punkt ha natürlich würde auch das danndiese Header-Datei mit den Cloud eingebunden werden in die Männerahnentypischerweisesind diese Zieldateienhaben sind sie Dateien selbstjeder Bibliothek auch noch maleinen tut für ihre eigenen Header-Dateidas hat den Vorteil dass die Funktion in der Zieldatei sich auch gegenseitig aufrufen können beliebiger Reihenfolgealsotypischerweise die Header sowohl in der eine Zieldatei dezidiert als ?? dann auch in der Männer der inkludiert ist kann sogar sein sich vor dieses hier ist ?? allgemeineFunktionsbibliothekfür irgendwelche mathematischen Funktionen die Kanzlei integrierenund auf jeder Information bilden Punkt warum sollte dann diese Fusion benötigt nicht auchdiese Fusionspolitikverwenden können das könnte auch noch passierendass diese Zieldateiauch noch andereHeader inkludiert also darüber nicht wundern ?? man installiert das was man Funktion braucht oder an Konstanten an ihn Umsatz Fakt was auch immer man braucht sucht man sich als zusammendas könnte ?? Business sieht sie das ??Header-Datei studiertan bis dahin ist der Präprozessorzugangeder siehtdie verschiedenen C Lateinund führtdas Institut aus führt die Feinauswahldes irgendwo vorkommtund ähnliche Geschichten Komma groß um?? zu Tages eine ?? keine gute Idee mehr mit die feinen Makros zu arbeiten ?? schon gesagtKomma man sollte Konstanten und Inlinefunktionennehmendas macht der Präprozessorbis dahin hat man eigentlich immer noch Cecoterlandet nur nicht auf der Festplatte typischerweisesondern wird intern gehandhabtder Compiler der echte Compiler dannnimmt sich jede Zehdateiund bauteine ?? oder Karl KrausObjekt Dateida wird wirklich übersetzt aus derSprache Cin eine Sprache die zumindest der Maschinenspracheschon relativ ähnlich istwelche das im Detail auch immer sein mag also das hier macht der Compilerder Compiler geht jede Zeder dadurchnicht mit Header-Datei zu tun Punkt der Compilerhat nichts mit Header-Datei zu tun ?? das Praktikum häufiger gesehen habe der CompilerGDC Latein durchwenn in den C Dateien mit Header-Datei inkludiert wird okay dann wohl der Präprozessor die Header-Datei rein aber der Compiler ist erst mal nur Zillertalinteressiertübersetzt jede Zillertal in eineObjektdateidarstellen soll deshalbeine Platzhalter trennen wenn diese C Datei aus dieser Zieldatei eine Funktion verwendetsteht in der Objektdatei vom Platzhalterich brauche folgende Funktionalso nicht wie die Gateway den Platzhalter für die Funktion drinder Linkerist dann dafür zuständig alle diese Platzhalteraufzulösen?? das macht der linke?? bindet das zusammen gelingt das Programmähmer verbindet es zu Linkda kommt dann zum Schlusseine ausführbareDatei aus ausführbargeschaffen ausführbardas macht der linkedieseUnterteilungin verschiedene Zieldateienhatdeshalb mehrerepositive Effekteder erste positive Effekt das ist ist das es sauberer wirdsie habenModuleTeile und herrsche Wesen im Prinzip beimVerweis auf Entwicklunghabe ein Problem das teile ich inTeilproblemeund dieseTeilproblemelösen sich typischerweisejeder jeweils einer C und Header-Dateiin Modulendadurch für das ganze übersichtlicherStand einzeln testenEinzelfehler korrigierenund ich kann recycelnso ein Modulkann ich von an das Programm seit etwa tausend ?? das Programm auch Messwerte einlesen odermit dem Internet kommunizierenoder oder odernämlich einfach die Datei Header-Datei verwendet woanders weiter?? ModularisierungPunkt eins und Punkt zweiund nicht mehr so ein Dramaaber das Kompilierenkann dadurch schneller passierenwenn ich nur meine Mail Datei editierenweiß das Entwicklungssystemdass diese Datei nicht angefasst worden ist und diese Datei nicht angefasst worden ist das heißt der Compiler muss sich das neue Zeugen ist das nicht das neue Zeugen sind Bildungssystem schmeißt den Compiler nur fürdie Dateien an sich geändert habedas geht schnellerCompiler nicht so viel zu tunder Linker muss natürlich jeweils ?? immer in Aktion treten ?? keine Chance Linker muss trotzdemarbeitenaber den Compiler kannsich auf die Dateien beschränkendie geändert worden sind dass es der zweite große Grundfür dieses ein Teil in verschiedene Zillertalzudem in Cloudnoch malKomma ganz dreistüben für den Lücken Text Nummer zweinicht vergessen das es zwei Sorten an den Cloud gibtihrereigenenDateienmit eine C Dateinamensplatzsie habenden Wert die Header-DateiHeader-Datei dazu mit Institutbla Hagen zu dir mitAnführungszeichenGänsefüßchen zu ?? sagen mit Gänsefüßchen untendoppelten Anführungszeichendas heißtdas Entwicklungssystemmöge diese Datei bitte in ihrem Projekt suchen nirgendwo andersdiese Header-Datei sollte bei ihren Seedateien und so weiter stehen beide insbesondere dastehen wo ihrem Endpunkt C Datei stehtdabei das es mit Entwicklungssystemdiese Datei suchen Sie könnenwenn sie jedoch ?? Und-Zeichen geben Sie konterte Jochen Pfad angeben zu können und erwiderte die Schreiben OCBackslash bla bla bla und so weiter und so weiter die Knochen den Pfad angeben das wir natürlich total nerven wenn sie das danach auf einen Rechnerrüberschieben und in das Verzeichnis schiebenbesser nichtlassen Sie lieber soahnendass es eine Datei die zu ihrem eigenen Projekt gehört wenn Sie eine Datei inkludierendie zum System gehörtsowas ist dann Datei Ooder Meßoder String dann in spitzen Klammernin der Formden Unterschied nicht vergessenes istalso keine großeTechnik es ist einfach nurein Trickdem System mitzuteilen wo suchen solldie Sachen in spitzen Klammern sucht es in einem besonderen System wo die systemweitenDateien stehen und die mit denGänsefüßchen obensucht ist neben ihrem Projektweiterzu ReligionIncludeCards