Friday, October 14, 2016

Ld Format Binäre Optionen

Trading Forex mit binären Optionen Binäre Optionen sind eine alternative Möglichkeit, den Devisenmarkt für Händler zu spielen. Obwohl sie eine relativ teure Art und Weise zu handeln Forex im Vergleich zu den gehebelten Spot Devisenhandel durch eine wachsende Zahl von Brokern angeboten. Die Tatsache, dass der maximale potenzielle Verlust begrenzt ist und im Voraus bekannt ist, ist ein großer Vorteil von binären Optionen. Aber zuerst, was sind binäre Optionen. Dabei handelt es sich um Optionen mit einem binären Ergebnis, dh sie werden entweder zu einem vorher festgelegten Wert (in der Regel 100) oder 0 abgerechnet. Dieser Abrechnungswert hängt davon ab, ob der Kurs des der binären Option zugrunde liegenden Vermögenswertes nach dem Verfall über oder unter dem Basispreis gehandelt wird . Binäre Optionen können verwendet werden, um über die Ergebnisse von verschiedenen Situationen zu spekulieren, wie wird die SampP 500 über ein bestimmtes Niveau von morgen oder nächste Woche steigen, werden diese Wochen arbeitslos Ansprüche höher sein als der Markt erwartet, oder wird der Euro oder Yen sinken Gegen den US-Dollar heute Say Gold ist der Handel mit 1.195 pro Feinunze derzeit und Sie sind zuversichtlich, dass es den Handel über 1.200 später am Tag. Angenommen, Sie können eine binäre Option auf Goldhandel bei oder über 1.200 bis zu diesem Zeitpunkt zu schließen, und diese Option ist der Handel mit 57 (Bid) / 60 (Angebot). Sie kaufen die Option bei 60. Wenn Gold schließt bei oder über 1.200, wie Sie es erwartet hatten, wird Ihre Auszahlung 100 sein, was bedeutet, dass Ihr Bruttogewinn (vor Provisionen) 40 oder 66,7 ist. Auf der anderen Seite, wenn Gold schließt unter 1.200, würden Sie verlieren Ihre 60 Investitionen, für eine 100 Verlust. Käufer und Verkäufer von binären Optionen Für den Käufer einer binären Option ist der Preis der Option der Preis, zu dem die Option gehandelt wird. Für den Verkäufer einer binären Option sind die Kosten die Differenz zwischen 100 und dem Optionspreis und 100. Aus der Käuferperspektive kann der Preis einer binären Option als die Wahrscheinlichkeit angesehen werden, dass der Handel erfolgreich sein wird. Je höher der binäre Optionspreis ist, um so größer ist die wahrgenommene Wahrscheinlichkeit, dass der Vermögenspreis über dem Streik steigt. Aus Sicht der Verkäufer beträgt die Wahrscheinlichkeit 100 minus der Optionspreis. Alle binären Optionskontrakte sind voll besichert, was bedeutet, dass beide Seiten eines bestimmten Kontrakts der Käufer und Verkäufer müssen Kapital für ihre Seite des Handels setzen. So, wenn ein Vertrag mit 35 handelt, zahlt der Käufer 35, und der Verkäufer zahlt 65 (100 - 35). Dies ist das maximale Risiko des Käufers und Verkäufers und beträgt in allen Fällen 100 Stück. So kann das Risiko-Ertragsprofil für Käufer und Verkäufer in diesem Fall wie folgt angegeben werden: Käufer Maximales Risiko 35 Maximale Belohnung 65 (100 - 35) Verkäufer Maximales Risiko 65 Maximale Belohnung 35 (100 - 65) Binäre Optionen auf Forex Binäre Optionen On Forex sind von Börsen wie Nadex erhältlich. Die sie auf den populärsten Paaren wie USD-CAD, EUR-USD und USD-JPY anbietet, sowie auf einer Reihe anderer weit gehandelter Währungspaare. Diese Optionen werden mit Ablaufzeiten von Intraday bis täglich und wöchentlich angeboten. Die Tick-Größe auf Spot Forex-Binärdateien von Nadex ist 1, und der Tick-Wert ist 1. Die intraday forex Binäroptionen von Nadex angeboten ablaufen stündlich, während die täglichen Auslaufen zu bestimmten festgelegten Zeiten den ganzen Tag. Die wöchentlichen binären Optionen laufen am Freitag um 3 Uhr ab. In der frenetischen Welt des Forex, wie ist der Auslaufwert berechnet Für Forex-Verträge, Nadex nimmt die Midpoint-Preise der letzten 25 Trades auf dem Forex-Markt. Eliminiert die höchsten fünf und die niedrigsten fünf Preise und nimmt dann das arithmetische Mittel der verbleibenden 15 Preise. Ab dem 15. Dezember 2014 hat Nadex vorgeschlagen, für die Devisentermingeschäfte die letzten 10 Mittelpunktpreise im zugrundeliegenden Markt zu nehmen, die höchsten drei und die niedrigsten drei Preise zu entfernen und das arithmetische Mittel der verbleibenden vier Preise zu erhalten. Mit dem EUR-USD-Währungspaar können Sie zeigen, wie binäre Optionen für den Handel mit Forex genutzt werden können. Wir verwenden eine wöchentliche Option, die um 3 Uhr am Freitag oder vier Tage ab jetzt abläuft. Angenommen, der aktuelle Wechselkurs beträgt EUR 1 USD 1,2440. Betrachten Sie die folgenden beiden Szenarien: (a) Sie glauben, dass der Euro bis Freitag nicht zu schwächen ist und über 1,2425 bleiben sollte. Die binäre Option EUR / USDgt1.2425 ist unter 49.00 / 55.00 angegeben. Sie kaufen 10 Verträge für insgesamt 550 (ohne Provisionen). Am Freitag um 15.00 Uhr wird der Euro mit USD 1.2450 gehandelt. Ihre binäre Option setzt sich bei 100, so dass Sie eine Auszahlung von 1.000. Ihr Bruttogewinn (vor Berücksichtigung von Provisionen) beträgt 450 oder ungefähr 82. Wenn der Euro jedoch unter 1.2425 gesunken war, würden Sie Ihre gesamte 550-Investition für einen Verlust von 100 verlieren. (B) Sie sind auf dem Euro bärisch und glauben, dass es bis Freitag fallen könnte, sagen zu USD 1.2375. Die binäre Option EUR / USDgt1.2375 ist bei 60.00 / 66.00 angegeben. Da Sie auf dem Euro bearish sind, würden Sie diese Option verkaufen. Ihre ursprünglichen Anschaffungskosten für jeden binären Optionskontrakt beträgt daher 40 (100 - 60). Angenommen, Sie verkaufen 10 Verträge und erhalten insgesamt 400. Um 3 Uhr am Freitag, sagen wir, dass der Euro bei 1,2400 gehandelt wird. Da der Euro über dem Ausübungspreis von 1.2375 nach Verfall geschlossen wurde, würden Sie die volle 400 oder 100 Ihrer Investition verlieren. Was wäre, wenn der Euro unter 1.2375 gesunken wäre, wie Sie es erwartet hätten? In diesem Fall würde der Vertrag mit 100 bezahlt werden, und Sie erhalten insgesamt 1.000 für Ihre 10 Kontrakte, für einen Gewinn von 600 oder 150. Weitere Grundstrategien Müssen nicht bis zum Vertragsablauf warten, um einen Gewinn auf Ihrem binären Optionskontrakt zu realisieren. Zum Beispiel, wenn bis Donnerstag, davon ausgehen, der Euro ist der Handel auf dem Spot-Markt bei 1.2455, aber Sie sind besorgt über die Möglichkeit eines Rückgangs der Währung, wenn US-Wirtschaftsdaten freigegeben werden am Freitag sehr positiv sind. Ihr binärer Optionskontrakt (EUR / USDgt1.2425), der zum Zeitpunkt des Kaufs bei 49.00 / 55.00 notiert wurde, liegt nun bei 75/80. Sie verkaufen deshalb die 10 Optionskontrakte, die Sie bei 55 gekauft haben, für 75, und buchen Sie einen Gesamtgewinn von 200 oder 36. Sie können auch auf einen Kombinationshandel für ein geringeres Risiko / niedrigere Belohnung setzen. Lets betrachten die USD / JPY binäre Option zu illustrieren. Gehen Sie davon aus, dass die Volatilität im Yen, die um 118.50 zum Dollar gehandelt wird, deutlich zunehmen könnte, und es könnte über 119.75 oder unter 117.25 bis Freitag fallen. Sie kaufen daher 10 binäre Optionskontrakte USD / JPYgt119.75, handeln mit 29,50 / 35,50 und verkaufen auch 10 binäre Optionskontrakte USD / JPYgt117,25, die bei 66,50 / 72,00 gehandelt werden. Daher zahlen Sie 35.50, um den USD / JPYgt119.75 Vertrag zu kaufen, und 33.50 (i. e 100-66.50), zum des USD / JPYgt117.25 Vertrages zu verkaufen. Ihre Gesamtkosten sind somit 690 (355 335). Drei mögliche Szenarien ergeben sich durch Optionsablauf um 3 Uhr am Freitag: Der Yen handelt über 119,75. In diesem Fall hat der USD / JPYgt119.75-Kontrakt eine Auszahlung von 100, während der USD / JPYgt117.25-Vertrag wertlos läuft. Ihre Gesamtauszahlung beträgt 1.000, für einen Gewinn von 310 oder über 45. Der Yen ist Handel unter 117,25. In diesem Fall hat der USD / JPYgt117.25-Kontrakt eine Auszahlung von 100, während der USD / JPYgt119.75 Vertrag wertlos läuft. Ihre Gesamtauszahlung beträgt 1.000, für einen Gewinn von 310 oder über 45. Der Yen ist Handel zwischen 117,25 und 119,75. In diesem Fall laufen beide Verträge wertlos und Sie Verlust der vollen 690 Investition. Binäre Optionen haben ein paar Nachteile: die Aufwärts - oder Gesamt-Belohnung ist begrenzt, selbst wenn der Asset-Preis spitzt und eine binäre Option ein Derivatprodukt mit einer endlichen Zeit bis zum Verfall ist. Auf der anderen Seite haben binäre Optionen eine Reihe von Vorteilen, die sie besonders nützlich in der volatilen Welt von Forex zu machen: das Risiko ist begrenzt (auch wenn die Vermögenspreise spikes up), Sicherheiten ist recht gering, und sie können sogar verwendet werden In flachen Märkten, die nicht volatil sind. Diese Vorteile machen Forex-Binär-Optionen würdig für den erfahrenen Trader, der auf der Suche ist, um Währungen handeln. Does jemand eine Idee haben, wie jede Ressource-Datei direkt in die ausführbare Datei oder die freigegebene Bibliothek Datei mit GCC Beispiel Id wie Bilddateien hinzufügen kompilieren Dass nie ändern (und wenn sie tun, Id müssen die Datei sowieso zu ersetzen) und würde nicht wollen, dass sie herumliegen im Dateisystem. Wenn dies möglich ist (und ich denke, es ist, weil Visual C für Windows dies auch tun kann), wie kann ich die Dateien, die in der eigenen Binärdatei gespeichert sind, lädt die ausführbare Datei selbst analysieren, finden Sie die Datei und extrahieren die Daten aus Es vielleicht theres eine Option für GCC ich havent noch gesehen. Mit Suchmaschinen nicht wirklich spucken die richtigen Sachen. Ich würde dieses benötigen, um für geteilte Bibliotheken und normale ELF-executables zu arbeiten. Jede Hilfe wird geschätzt Gibt so etwas wie: Für die Kompatibilität mit anderen Code können Sie dann entweder fmemopen, um eine regelmäßige FILE-Objekt oder alternativ std :: stringstream zu einem iostream zu machen. Std :: stringstream ist nicht gut für diese aber und Sie können natürlich nur einen Zeiger überall können Sie einen Iterator verwenden. Wenn youre, das dieses mit automake verwendet, vergessen Sie nicht, BUILTSOURCES entsprechend zu setzen. Die nette Sache über es auf diese Weise ist: Sie erhalten Text aus, so kann es in Versionskontrolle und Patches sinnvoll sein Es ist portabel und gut definiert auf jeder Plattform beantwortet Ich habe Objcopy (GNU binutils) Um die binären Daten aus einer Datei foo-data. bin in den Datenabschnitt der ausführbaren Datei zu verknüpfen: Dadurch erhalten Sie eine foo-data. o-Objektdatei, die Sie mit Ihrer ausführbaren Datei verknüpfen können. Die C-Schnittstelle sieht so aus, so dass Sie Dinge wie tun können Wenn Ihre Zielarchitektur spezielle Einschränkungen hinsichtlich der Speicherung konstanter und variabler Daten aufweist oder Sie diese Daten im. text-Segment speichern möchten, damit es in denselben Speichertyp passt Als Programmcode können Sie mit den objcopy-Parametern einige mehr spielen. Antwort # 1 am: April 11, 2010, um 12:22 Uhr gute Idee In meinem Fall ist es nicht sehr nützlich. Aber das ist etwas, was ich wirklich in meine Schnipsel-Sammlung bringen werde. Dank für das Teilen dieses ndash Atmocreations It39s ein wenig einfacher, ld zu verwenden, da das Ausgabeformat dort angedeutet wird, sehen Sie stackoverflow / a / 4158997/201725. Ndash Jan Hudec Sie können binäre Dateien in ausführbare Datei mit ld Linker einbetten. Wenn Sie zum Beispiel Datei foo. bar haben, können Sie es in die ausführbare Datei einbetten, indem Sie die folgenden Befehle in ld einfügen Wenn Sie ld thru gcc aufrufen, müssen Sie - Wl hier hinzufügen - formatbinary teilt dem Linker mit, dass die folgende Datei ist Binary und --formatdefault zurück zum Standard-Eingabeformat (dies ist sinnvoll, wenn Sie weitere Eingabe-Dateien nach foo. bar angeben). Dann können Sie den Inhalt Ihrer Datei aus Code: Es gibt auch Symbol mit dem Namen binaryfoobarsize. Ich denke, es ist von Typ uintptrt aber i didnt check it. Ich hatte vor kurzem die Notwendigkeit, eine Datei in eine ausführbare Datei einzubetten. Da ich an der Kommandozeile mit gcc, et al und nicht mit einem fantastischen RAD-Tool, das alles geschehen magisch macht, war es nicht sofort offensichtlich für mich, wie dies zu machen. Ein bisschen auf der Suche nach dem Netz fand einen Hack, um im Wesentlichen Katze es auf das Ende der ausführbaren Datei und dann zu entschlüsseln, wo es auf einer Reihe von Informationen, die ich nicht wissen wollte. Scheint wie dort sollte ein besserer Weg sein. Und es gibt, sein objcopy zur Rettung. Objcopy konvertiert Objektdateien oder ausführbare Dateien von einem Format in ein anderes. Eines der Formate, die es versteht, ist binär, das ist grundsätzlich jede Datei, die nicht in einem der anderen Formate, die es versteht. So haben Sie wahrscheinlich die Idee vorgestellt: konvertieren Sie die Datei, die wir in eine Objektdatei einbetten möchten, dann kann es einfach mit dem Rest des Codes verknüpft werden. Wir sagen, wir haben einen Dateinamen data. txt, den wir in unsere ausführbare Datei einbetten wollen: Um diese in eine Objektdatei zu konvertieren, die wir mit unserem Programm verknüpfen können, verwenden wir einfach objcopy, um eine. o-Datei zu erzeugen: Das sagt objcopy, dass unsere Eingabe Datei befindet sich im Binärformat, dass sich unsere Ausgabedatei im Format elf32-i386 (Objektdateien auf dem x86) befinden sollte. Die Option --binary-architecture teilt objcopy mit, dass die Ausgabedatei auf einem x86 ausgeführt werden soll. Dies wird benötigt, damit ld die Datei für die Verknüpfung mit anderen Dateien für den x86 akzeptiert. Man würde denken, dass die Angabe des Ausgabeformats als elf32-i386 würde dies bedeuten, aber es nicht. Nun, da wir eine Objektdatei haben, brauchen wir sie nur einzubinden, wenn wir den Linker ausführen: Wenn wir das Ergebnis ausführen, bekommen wir das Gebet für die Ausgabe: Natürlich habe ich die ganze Geschichte noch nicht erzählt und dir nicht gezeigt. Wenn objcopy die obige Konvertierung ausführt, fügt er der konvertierten Objektdatei einige Linkersymbole hinzu: Nach dem Verknüpfen legen diese Symbole den Anfang und das Ende der eingebetteten Datei fest. Die Symbolnamen werden durch vorangestelltes binäres und anhängendes Anfangs - oder Ende des Dateinamens gebildet. Wenn der Dateiname alle Zeichen enthält, die in einem Symbolnamen ungültig wären, werden sie in Unterstriche umgewandelt (zB data. txt wird datatxt). Wenn Sie beim Verknüpfen mit diesen Symbolen ungelöste Namen erhalten, führen Sie einen Hex-Dump - C in der Objektdatei aus und sehen Sie das Ende des Dumps für die Namen an, die objcopy gewählt hat. Der Code, um tatsächlich die eingebettete Datei zu verwenden, sollte nun eindeutig offensichtlich sein: Eine wichtige und subtile Sache zu beachten ist, dass die Symbole hinzugefügt, um die Objektdatei arent Variablen. Sie enthalten keine Daten, sondern ihre Adresse ist ihr Wert. Ich erkläre sie als Typ char, weil seine bequem für dieses Beispiel: die eingebetteten Daten sind Zeichen-Daten. Allerdings könnten Sie deklarieren sie als alles, wie int, wenn die Daten ein Array von Ganzzahlen oder als struct foobart, wenn die Daten waren alle Array von foo Bars. Wenn die eingebetteten Daten nicht einheitlich sind, ist char wahrscheinlich das bequemste: nehmen Sie ihre Adresse und werfen Sie den Zeiger auf den richtigen Typ, wenn Sie die Daten durchlaufen. Antwort # 1 am 20: 39Der GNU Linker ld soll eine breite Palette von Situationen zu decken, und so kompatibel wie möglich mit anderen Linkern. Als Ergebnis haben Sie viele Möglichkeiten, um sein Verhalten zu kontrollieren. Hier ist eine Zusammenfassung der Optionen, die Sie auf der ld-Befehlszeile verwenden können: Diese Fülle von Befehlszeilenoptionen kann einschüchternd wirken, aber in der Praxis werden nur wenige von ihnen in einem bestimmten Kontext verwendet. Eine häufige Verwendung von ld besteht beispielsweise darin, Standard-Unix-Objektdateien auf einem standardmäßigen, unterstützten Unix-System zu verknüpfen. Auf einem solchen System, um eine Datei hello. o zu verknüpfen. Dies sagt ld, eine Datei namens Ausgabe als Ergebnis der Verknüpfung der Datei /lib/crt0.o mit hello. o und der Bibliothek libc. a. Die aus den Standard-Suchverzeichnissen kommen. (Siehe die Diskussion der Option - l.) Die Befehlszeilenoptionen in ld können in beliebiger Reihenfolge angegeben werden und können beliebig wiederholt werden. Das Wiederholen der meisten Optionen mit einem anderen Argument wird entweder keine weitere Auswirkung haben oder vorherige Vorkommen (die weiter links in der Befehlszeile) dieser Option überschreiben. Die Ausnahmen - die sinnvollerweise mehr als einmal verwendet werden - sind - A. - b (oder dessen synonym - format), - defsym. - L. - l. - R. - u. Die Liste der zu verknüpfenden Objektdateien, die als objfile angezeigt werden, kann mit Befehlszeilenoptionen folgen, vorangehen oder gemischt werden, außer dass ein objfile - Argument nicht vorhanden ist Zwischen einer Option und ihrem Argument platziert werden, in der Regel wird der Linker mit mindestens einer Objektdatei aufgerufen, Sie können aber auch andere Formen von binären Eingabedateien mit - l. - R und die Skriptbefehlssprache angeben Alle angeben, erzeugt der Linker keine Ausgabe und gibt die Meldung Keine Eingabedateien aus Wenn der Linker das Format einer Objektdatei nicht erkennen kann, wird davon ausgegangen, dass es sich um ein Linkerskript handelt Das Hauptlinkerskript, das für die Verknüpfung verwendet wird (entweder das Standard-Linkerskript oder das mit - T angegebene). Diese Funktion ermöglicht es dem Linker, eine Datei zu verknüpfen, die ein Objekt oder ein Archiv zu sein scheint, aber eigentlich nur ein Symbol definiert Oder verwenden Sie INPUT oder GROUP, um andere Objekte zu laden. Siehe Abschnitt Befehlssprache. Für Optionen, deren Namen ein einzelner Buchstabe sind, müssen Optionsargumente entweder dem Optionsbrief ohne dazwischen liegenden Leerzeichen folgen oder als separate Argumente unmittelbar nach der Option, die sie benötigt, angegeben werden. Bei Optionen, deren Namen mehrere Buchstaben sind, kann entweder ein Bindestrich oder zwei dem Optionsnamen vorangestellt sein. --oformat und - oformat sind gleichwertig. Argumente für Mehrfachbuchstaben müssen entweder durch ein Gleichheitszeichen vom Optionsnamen getrennt werden oder als separate Argumente unmittelbar nach der Option, die sie benötigt, angegeben werden. Zum Beispiel sind --oformat srec und --oformatsrec äquivalent. Eindeutige Abkürzungen der Namen von Mehrfachbuchstaben werden akzeptiert. - b Input-Format ld kann so konfiguriert werden, dass es mehr als eine Art von Objektdatei unterstützt. Wenn Ihr ld so konfiguriert ist, können Sie die Option - b verwenden, um das binäre Format für Eingabeobjektdateien anzugeben, die dieser Option in der Befehlszeile folgen. Selbst wenn ld für die Unterstützung alternativer Objektformate konfiguriert ist, müssen Sie dies in der Regel nicht angeben, da ld so konfiguriert sein sollte, dass es als Standard-Eingabeformat das üblichste Format auf jeder Maschine erwartet. Input-format ist eine Textzeichenfolge, der Name eines bestimmten Formats, das von den BFD-Bibliotheken unterstützt wird. (Sie können die verfügbaren Binärformate mit objdump - i aufrufen.) - format Input-Format hat die gleiche Wirkung wie der Skriptbefehl TARGET. Siehe Abschnitt BFD. Sie können diese Option verwenden, wenn Sie Dateien mit einem ungewöhnlichen Binärformat verknüpfen. Sie können auch - b verwenden, um Formate explizit zu wechseln (beim Verknüpfen von Objektdateien unterschiedlicher Formate), indem Sie - b input-format vor jeder Gruppe von Objektdateien in einem bestimmten Format enthalten. Das Standardformat wird aus der Umgebungsvariablen GNUTARGET übernommen. Sie können das Eingabeformat auch mit dem Befehl TARGET, siehe Abschnitt Optionsbefehle, aus einem Skript definieren. - Bstatic Verknüpfen Sie nicht mit gemeinsam genutzten Bibliotheken. Dies ist nur auf Plattformen sinnvoll, für die gemeinsame Bibliotheken unterstützt werden. - Bdynamischer Link mit dynamischen Bibliotheken. Dies ist nur auf Plattformen sinnvoll, für die gemeinsame Bibliotheken unterstützt werden. Diese Option ist normalerweise der Standard für solche Plattformen. - Bsymbolic Wenn Sie eine gemeinsam genutzte Bibliothek erstellen, binden Sie Verweise auf globale Symbole auf die Definition in der freigegebenen Bibliothek, falls vorhanden. Normalerweise ist es möglich, dass ein Programm, das mit einer freigegebenen Bibliothek verknüpft ist, die Definition in der freigegebenen Bibliothek überschreibt. Diese Option ist nur auf ELF-Plattformen sinnvoll, die gemeinsame Bibliotheken unterstützen. - c MRI-Befehlsdatei Für Kompatibilität mit von MRI erzeugten Linkern akzeptiert ld Skriptdateien, die in einer alternativen, eingeschränkten Befehlssprache geschrieben sind, die im Abschnitt MRI Compatible Script Files beschrieben ist. Führen Sie MRI-Skriptdateien mit der Option - c ein, verwenden Sie die Option - T, um Linkerskripts auszuführen, die in der allgemeinen ld-Skriptsprache geschrieben sind. Wenn MRI-cmdfile nicht vorhanden ist, sucht ld es in den Verzeichnissen, die durch alle - L-Optionen angegeben werden. - d - dc - dp Diese drei Optionen sind gleichwertige Formate werden für die Kompatibilität mit anderen Linkern unterstützt. Sie weisen gemeinsamen Symbolen Platz, auch wenn eine relocatable Ausgabedatei angegeben wird (mit - r). Der Skriptbefehl FORCECOMMONALLOCATION hat die gleiche Wirkung. Siehe Abschnitt Optionsbefehle. - defsym Symbolausdruck Erstellen Sie ein globales Symbol in der Ausgabedatei mit der absoluten Adresse, die durch den Ausdruck angegeben wird. Sie können diese Option so oft wie nötig verwenden, um mehrere Symbole in der Befehlszeile zu definieren. Eine begrenzte Form der Arithmetik wird für den Ausdruck in diesem Kontext unterstützt: Sie können eine hexadezimale Konstante oder den Namen eines vorhandenen Symbols geben oder mit und - hexadezimale Konstanten oder Symbole hinzufügen oder subtrahieren. Wenn Sie ausführlichere Ausdrücke benötigen, sollten Sie die Verknüpfungsbefehlssprache aus einem Skript verwenden (siehe Abschnitt Zuordnung: Symbole definieren). Anmerkung: Es sollte kein Leerraum zwischen Symbol vorhanden sein. Das Gleichheitszeichen () und den Ausdruck. - embedded-relocs Diese Option ist nur sinnvoll, wenn MIPS-eingebetteter PIC-Code verknüpft wird, der von der Option - membedded-pic zum GNU-Compiler und Assembler generiert wird. Es bewirkt, dass der Linker eine Tabelle erstellt, die zur Laufzeit verwendet werden kann, um alle Daten, die statisch initialisiert wurden, auf Zeigerwerte zu verschieben. Siehe den Code in testsuite / ld-empic für Details. - e Eintrag Benutzen Sie den Eintrag als explizites Symbol für den Beginn der Ausführung Ihres Programms und nicht als Standardeintragspunkt. Siehe Abschnitt Einstiegspunkt. Für eine Diskussion der Vorgaben und andere Arten der Angabe der Einstiegspunkt. - F - F-Format Ignoriert. Einige ältere Linker verwendeten diese Option während einer Kompilierungs-Toolchain, um das Objekt-Dateiformat sowohl für Eingabe - als auch für Ausgabeobjektdateien anzugeben. Die Mechanismen ld verwenden dazu (die - b - oder - formatoptionen für Eingabedateien, - oformat oder den TARGET-Befehl in Linkerskripten für Ausgabedateien, die Umgebungsvariable GNUTARGET) sind flexibler, aber ld akzeptiert die Option - F Kompatibilität mit Skripts geschrieben, um den alten Linker aufrufen. - format input-format Synonym für - b Eingabeformat. - g Ignoriert. Geeignet für Kompatibilität mit anderen Werkzeugen. - G-Wert - G-Wert Legt die maximale Größe der zu optimierenden Objekte mithilfe des GP-Registers unter MIPS ECOFF fest. Für andere Objektdateiformate wurde ignoriert. - help Eine Zusammenfassung der Befehlszeilenoptionen auf der Standardausgabe drucken und beenden. - i Führen Sie einen inkrementellen Link (wie Option - r) aus. - l ar Fügen Sie Archivdatei-Archiv zur Liste der zu verknüpfenden Dateien hinzu. Diese Option kann beliebig oft verwendet werden. Ld durchsucht seine Pfadliste nach Vorkommen von lib ar. a für jedes angegebene Archiv. - L searchdir - L searchdir Fügt path searchdir zur Liste der Pfade hinzu, die ld nach Archivbibliotheken und ld-Steuerskripten durchsucht. Sie können diese Option beliebig oft verwenden. Die Verzeichnisse werden in der Reihenfolge durchsucht, in der sie in der Befehlszeile angegeben werden. In der Befehlszeile angegebene Verzeichnisse werden vor den Standardverzeichnissen durchsucht. Alle - L-Optionen gelten für alle - l-Optionen, unabhängig von der Reihenfolge, in der die Optionen angezeigt werden. Die Pfade können auch in einem Verknüpfungsskript mit dem Befehl SEARCHDIR angegeben werden. Auf diese Weise angegebene Verzeichnisse werden an dem Punkt gesucht, an dem das Verknüpfungsskript in der Befehlszeile angezeigt wird. - M Drucken (zur Standardausgabe) eine Link-Map - Diagnoseinformationen, wo Symbole von ld abgebildet werden. Und Informationen über die globale gemeinsame Speicherzuteilung. - Map mapfile Drucken Sie in die Datei mapfile eine Link-Karte - Diagnoseinformationen, wo Symbole von ld zugeordnet sind. Und Informationen über die globale gemeinsame Speicherzuteilung. - m emulation - m emulation Emulieren Sie den Emulations-Linker. Sie können die verfügbaren Emulationen mit den Optionen --verbose oder - V auflisten. Die Voreinstellung hängt davon ab, wie Ihr ld konfiguriert wurde. - N Legen Sie die Text - und Datenbereiche lesbar und beschreibbar. Auch nicht punktgenau das Datensegment. Wenn das Ausgabeformat Unix-Style-Magic-Nummern unterstützt, markieren Sie die Ausgabe als OMAGIC. - n Setzt das zu lesende Text-Segment und markiert die Ausgabe als NMAGIC, wenn möglich. - noinhibit-exec Bewahren Sie die ausführbare Ausgabedatei immer dann auf, wenn sie noch verwendbar ist. Normalerweise erzeugt der Linker keine Ausgabedatei, wenn er während des Verknüpfungsvorgangs Fehler erkennt, ohne eine Ausgabedatei zu schreiben, wenn er irgendwelche Fehler auslöst. - no-keep-memory ld optimiert normalerweise die Geschwindigkeit für die Speicherbelegung, indem die Symboltabellen der Eingabedateien zwischengespeichert werden. Diese Option teilt ld mit, stattdessen die Speicherbelegung zu optimieren, indem die Symboltabellen nach Bedarf neu gelesen werden. Dies kann erforderlich sein, wenn ld keinen Speicherplatz mehr hat, während eine große ausführbare Datei verknüpft wird. - o Ausgabe Verwenden Sie Ausgabe als Namen für das von ld erzeugte Programm, wenn diese Option nicht angegeben ist, wird standardmäßig der Name a. out verwendet. Der Skriptbefehl OUTPUT kann auch den Namen der Ausgabedatei angeben. - oformat-Ausgabeformat ld kann so konfiguriert werden, dass es mehr als eine Art von Objektdatei unterstützt. Wenn Ihr ld so konfiguriert ist, können Sie mit der Option - oformat das Binärformat für die Ausgabeobjektdatei angeben. Selbst wenn ld für die Unterstützung alternativer Objektformate konfiguriert ist, müssen Sie dies normalerweise nicht angeben, da ld so konfiguriert sein sollte, dass es als Standard-Ausgabeformat das üblichste Format auf jeder Maschine erzeugt. Ausgabeformat ist eine Textzeichenfolge, der Name eines bestimmten Formats, das von den BFD-Bibliotheken unterstützt wird. (Sie können die verfügbaren Binärformate mit objdump - i auflisten.) Der Skriptbefehl OUTPUTFORMAT kann auch das Ausgabeformat angeben, aber diese Option überschreibt es. Siehe Abschnitt BFD. - R Dateiname Lesen von Symbolnamen und deren Adressen aus Dateinamen. Aber nicht verlagern oder in die Ausgabe aufnehmen. Dadurch kann Ihre Ausgabedatei symbolisch auf absolute Speicherorte verweisen, die in anderen Programmen definiert sind. - relax Eine Option mit maschinenabhängigen Effekten. Auf einigen Plattformen führt die Option - relax globale Optimierungen durch, die möglich werden, wenn der Linker die Adressierung in dem Programm auflöst, wie beispielsweise das Entspannen von Adreßmodi und das Synthetisieren neuer Anweisungen in der Ausgabeobjektdatei. - retain-symbols-file Dateiname Bewahren Sie nur die Symbole auf, die im Dateinamen der Datei aufgelistet sind. Verwerfen alle anderen. Filename ist einfach eine flache Datei mit einem Symbolnamen pro Zeile. Diese Option ist besonders nützlich in Umgebungen, in denen eine große globale Symboltabelle allmählich akkumuliert wird, um Laufzeitspeicher zu sparen. - retain-symbols-file verwirft nicht undefinierte Symbole oder Symbole, die für Verlagerungen benötigt werden. Sie können in der Befehlszeile nur einmal - retain-symbols-file angeben. Es überschreibt - s und - S. - r Erzeugt verschiebbare Ausgabe - d. h. Erzeugen eine Ausgabedatei, die wiederum als Eingabe in ld dienen kann. Dies wird oft als partielle Verknüpfung bezeichnet. Als Nebenwirkung, in Umgebungen, die Standard-Unix-Magic-Nummern unterstützen, setzt diese Option auch die Ausgabe-Dateien Magic-Nummer auf OMAGIC. Wenn diese Option nicht angegeben ist, wird eine absolute Datei erstellt. Beim Verknüpfen von C-Programmen werden mit dieser Option keine Verweise auf Konstruktoren aufgelöst, verwenden Sie - Ur. Diese Option macht dasselbe wie - i. - S Lassen Sie Debugger-Symbolinformationen (aber nicht alle Symbole) aus der Ausgabedatei. - s Alle Symboldaten aus der Ausgabedatei auslassen. - shared Erstellen Sie eine gemeinsame Bibliothek. Dies wird derzeit nur auf ELF - und SunOS-Plattformen unterstützt. Auf SunOS wird der Linker automatisch eine freigegebene Bibliothek erstellen, wenn die Option - e nicht verwendet wird und es keine undefinierten Symbole im Link gibt. - sort-common Normalerweise, wenn ld die globalen gemeinsamen Symbole in den entsprechenden Ausgabeabschnitten platziert, sortiert es sie nach Größe. Zuerst kommen alle Bytesymbole, dann alle zwei Bytes, dann alle vier Bytes und dann alles andere. Dies dient dazu, Lücken zwischen Symbolen aufgrund von Ausrichtungsbeschränkungen zu vermeiden. Diese Option deaktiviert diese Sortierung. - split-by-reloc count Versucht, zusätzliche Abschnitte in der Ausgabedatei zu erstellen, sodass kein einzelner Ausgabeabschnitt in der Datei mehr als Zonverlagerungen enthält. Dies ist sinnvoll bei der Erzeugung großer Umsetzbarkeit für das Herunterladen in bestimmte Echtzeit-Kerne mit dem COFF-Objekt-Dateiformat, da COFF nicht mehr als 65535 Umzüge in einem einzigen Bereich darstellen kann. Beachten Sie, dass dies nicht mit Objektdateiformaten funktioniert, die keine beliebigen Abschnitte unterstützen. Der Linker wird keine einzelnen Eingabeabschnitte für die Umverteilung aufteilen, so dass, wenn ein einzelner Eingabeabschnitt mehr als Zählortverlagerungen enthält, ein Ausgabeabschnitt diese viele Verlagerungen enthält. - split-by-file Ähnlich wie - split-by-reloc erzeugt aber für jede Eingabedatei einen neuen Ausgabeabschnitt. - stats Berechnen und Anzeigen von Statistiken über den Betrieb des Linkers, z. B. Ausführungszeit und Speicherauslastung. - Tbss org - Tdata org - Ttext org Verwenden Sie org als Startadresse für - bzw. - das bss. Daten. Oder das Textsegment der Ausgabedatei. Org muss eine einzelne hexadezimale Ganzzahl für die Kompatibilität mit anderen Linkern sein, können Sie die führende 0x, die gewöhnlich mit hexadezimalen Werten verknüpft ist, weglassen. - T Befehlsdatei - T Befehlsdatei Link-Befehle aus der Datei-Befehlsdatei lesen. Diese Befehle ersetzen das standardmäßige Linkskript von ld s (anstatt es hinzuzufügen), also muss Befehlsdatei alles, was notwendig ist, um das Zielformat zu beschreiben, angeben. Siehe Abschnitt Befehlssprache. Wenn die Befehlsdatei nicht existiert, sucht ld sie in den Verzeichnissen, die durch vorherige - L-Optionen angegeben wurden. Multiple - T Optionen akkumulieren. - t Gibt die Namen der Eingabedateien aus, wenn sie ld verarbeitet. - traditional-format Für einige Ziele ist die Ausgabe von ld in gewisser Weise von der Ausgabe einiger vorhandener Linker verschieden. Dieser Schalter fordert ld an, stattdessen das herkömmliche Format zu verwenden. Beispielsweise kombiniert ld auf SunOS doppelte Einträge in der Zeichenfolgentabelle. Dies kann die Größe einer Ausgabedatei mit vollständigen Debugging-Informationen um über 30 Prozent verringern. Leider kann das SunOS dbx-Programm das resultierende Programm nicht lesen (gdb hat keine Probleme). Der - traditional-format-Schalter teilt ld mit, keine doppelten Einträge zu kombinieren. - u Symbol Symbol in der Ausgabedatei als unbestimmtes Symbol eingeben. Dies kann z. B. dazu führen, dass zusätzliche Module aus Standardbibliotheken miteinander verbunden werden. - u kann mit verschiedenen Optionsargumenten wiederholt werden, um zusätzliche undefinierte Symbole einzugeben. - Ur Für etwas anderes als C-Programme ist diese Option gleich - r. Erzeugt er einen verlagerbaren Ausgang - d. h. Eine Ausgabedatei, die wiederum als Eingabe für ld dienen kann. Beim Verknüpfen von C-Programmen löst - Ur Verweise auf Konstruktoren auf, im Gegensatz zu - r. Es funktioniert nicht zu verwenden - Ur auf Dateien, die selbst mit - Ur verknüpft wurden, sobald die Konstruktor-Tabelle erstellt wurde, kann es nicht hinzugefügt werden. Verwenden Sie - Ur nur für den letzten partiellen Link und - r für die anderen. --verbose Zeigt die Versionsnummer für ld an und listet die unterstützten Linker-Emulationen auf. Anzeigen, welche Eingabedateien geöffnet und nicht geöffnet werden können. - v - V Zeigt die Versionsnummer für ld an. Die Option - V enthält außerdem die unterstützten Emulationen. - version Zeigt die Versionsnummer für ld an und beendet es. - warn-common Warnen, wenn ein gemeinsames Symbol mit einem anderen gemeinsamen Symbol oder mit einer Symboldefinition kombiniert wird. Unix-Linker ermöglichen diese etwas schlampige Praxis, aber Linker auf einigen anderen Betriebssystemen nicht. Mit dieser Option können Sie potenzielle Probleme bei der Kombination globaler Symbole finden. Leider verwenden einige C-Bibliotheken diese Praxis, so können Sie einige Warnungen über Symbole in den Bibliotheken sowie in Ihren Programmen erhalten. Es gibt drei Arten von globalen Symbolen, die hier durch C Beispiele dargestellt werden: int i 1 Eine Definition, die in den initialisierten Datenabschnitt der Ausgabedatei geht. Extern int i Eine nicht definierte Referenz, die keinen Platz reserviert. Es muss entweder eine Definition oder ein gemeinsames Symbol für die Variable irgendwo sein. Int i Ein gemeinsames Symbol. Wenn es nur (ein oder mehrere) gemeinsame Symbole für eine Variable gibt, geht es in den nicht initialisierten Datenbereich der Ausgabedatei. Der Linker vereinigt mehrere gemeinsame Symbole für die gleiche Variable zu einem einzigen Symbol. Wenn sie verschiedene Größen haben, wählt sie die größte Größe. Der Linker macht ein gemeinsames Symbol zu einer Deklaration, wenn es eine Definition derselben Variablen gibt. Die Option - warn-common kann fünf Warnarten erzeugen. Jede Warnung besteht aus zwei Zeilen: das erste beschreibt das gerade angezeigte Symbol und das zweite das vorher mit demselben Namen angezeigte Symbol. Eines oder beide der beiden Symbole sind ein gemeinsames Symbol. Drehen eines gemeinsamen Symbols in eine Referenz, da es bereits eine Definition für das Symbol gibt. Drehen eines gemeinsamen Symbols in eine Referenz, da eine spätere Definition für das Symbol angetroffen wird. Dies ist derselbe wie der vorhergehende Fall, außer daß die Symbole in einer anderen Reihenfolge angetroffen werden. Zusammenführen eines gemeinsamen Symbols mit einem gemeinsamen gemeinsamen Symbol der gleichen Größe. Zusammenführen eines gemeinsamen Symbols mit einem vorherigen größeren gemeinsamen Symbol. Zusammenführen eines gemeinsamen Symbols mit einem vorherigen kleineren gemeinsamen Symbol. Dies ist derselbe wie der vorhergehende Fall, außer daß die Symbole in einer anderen Reihenfolge angetroffen werden. - warn-constructors Gibt an, ob globale Konstruktoren verwendet werden. Dies ist nur für wenige Objektdateiformate sinnvoll. Für Formate wie COFF oder ELF kann der Linker die Verwendung von globalen Konstruktoren nicht erkennen. - warn-once Nur einmal für jedes nicht definierte Symbol und nicht einmal pro Modul, das sich darauf bezieht, nur einmal warnen. Fügen Sie für jedes in der Befehlszeile genannte Archiv alle Objektdateien im Archiv in die Verknüpfung ein, anstatt das Archiv für die erforderlichen Objektdateien zu durchsuchen. Dies wird normalerweise verwendet, um eine Archivdatei in eine gemeinsam genutzte Bibliothek umzuwandeln, sodass jedes Objekt in die resultierende gemeinsam genutzte Bibliothek aufgenommen wird. - X Löschen Sie alle temporären lokalen Symbole. Für die meisten Ziele sind dies alle lokalen Symbole, deren Namen mit L beginnen. - x Löschen Sie alle lokalen Symbole. - y Symbol Drucken Sie den Namen jeder verknüpften Datei aus, in der das Symbol angezeigt wird. Diese Option kann beliebig oft angegeben werden. Bei vielen Systemen ist es notwendig, einen Unterstrich vorzugeben. Diese Option ist nützlich, wenn Sie ein undefiniertes Symbol in Ihrem Link haben, aber nicht wissen, woher der Verweis kommt. - (archives -) --start-group archives --end-group Das Archiv sollte eine Liste von Archivdateien sein. Sie können entweder explizite Dateinamen oder - l-Optionen sein. Die angegebenen Archive werden wiederholt durchsucht, bis keine neuen undefinierten Referenzen erzeugt werden. Normalerweise wird ein Archiv nur einmal in der Reihenfolge durchsucht, in der es in der Befehlszeile angegeben wird. Wenn ein Symbol in diesem Archiv benötigt wird, um ein undefiniertes Symbol aufzulösen, auf das sich ein Objekt in einem Archiv bezieht, das später auf der Befehlszeile erscheint, ist der Linker nicht in der Lage, diesen Verweis zu lösen. Durch die Gruppierung der Archive werden sie immer wieder durchsucht, bis alle möglichen Referenzen aufgelöst sind. Die Verwendung dieser Option hat erhebliche Leistungskosten. Es ist am besten, es nur zu verwenden, wenn es unvermeidbare Zirkelverweise zwischen zwei oder mehr Archiven gibt. Gehe zum ersten. Zurück. Nächster. Letzter Abschnitt, Inhaltsverzeichnis. Die Befehlssprache bietet eine explizite Kontrolle über den Link-Prozess, so dass vollständige Spezifikation der Zuordnung zwischen den Linker-Eingabedateien und seine Ausgabe. Es steuert: Eingabedateien Dateiformate Ausgabedatei Layoutadressen von Abschnitten Platzierung von gemeinsamen Bausteinen Sie können dem Linker entweder explizit über die Option - T oder implizit als normale Datei eine Befehlsdatei (auch Linkskript genannt) übergeben. Wenn der Linker eine Datei öffnet, die er nicht als unterstütztes Objekt oder Archivformat erkennen kann, meldet er einen Fehler. Die ld-Befehlssprache ist eine Sammlung von Anweisungen, bei denen es sich um einfache Schlüsselwörter handelt, die eine bestimmte Option festlegen. Einige werden verwendet, um Eingabedateien oder Namensausgabedateien auszuwählen und zu gruppieren, und zwei Anweisungstypen haben eine grundlegende und durchgreifende Auswirkung auf den Verbindungsprozess. Der grundsätzlichste Befehl der ld-Befehlssprache ist der Befehl SECTIONS (siehe Abschnitt Ausgabebereiche festlegen). Jedes sinnvolle Befehlsskript muss über einen SECTIONS-Befehl verfügen: er legt ein Bild des Layouts der Ausgabedateien in unterschiedlichen Detailgraden fest. In keinem Fall ist ein anderer Befehl erforderlich. Der MEMORY-Befehl ergänzt SECTIONS, indem er den verfügbaren Speicher in der Zielarchitektur beschreibt. Dieser Befehl ist optional, wenn Sie keinen MEMORY-Befehl verwenden, ld nimmt an, dass in einem zusammenhängenden Block für alle Ausgaben genügend Speicher zur Verfügung steht. Siehe Abschnitt Speicherlayout. Sie können Kommentare in Linkerskripts wie in C: durch / und / eingegrenzt enthalten. Wie in C, sind Kommentare syntaktisch gleichbedeutend mit Whitespace. Viele nützliche Befehle umfassen arithmetische Ausdrücke. Die Syntax für Ausdrücke in der Befehlssprache ist identisch mit der von C-Ausdrücken mit den folgenden Merkmalen: Alle Ausdrücke, die als ganze Zahlen ausgewertet werden, sind lang oder vorzeichenlos lang. Alle Konstanten sind ganze Zahlen. Alle C-arithmetischen Operatoren werden bereitgestellt. Sie können globale Variablen verweisen, definieren und erstellen. Sie können spezielle eingebaute Funktionen aufrufen. Ganzzahlen. Integers Symbole. Symbol Namen Standort Zähler. Die Lokalisierungsoperatoren. Betreiberauswertung. Bewertungszuordnung. Zuordnung: Symbole definieren Arithmetische Funktionen. Eingebaute Funktionen Eine Oktal-Ganzzahl ist 0, gefolgt von Null oder mehr der Oktalstellen (01234567). Eine Dezimalzahl beginnt mit einer Ziffer Null, gefolgt von Null oder mehr Ziffern (0123456789). Eine hexadezimale Ganzzahl ist 0x oder 0X, gefolgt von einer oder mehreren hexadezimalen Ziffern aus 0123456789abcdefABCDEF. Um eine negative Ganzzahl zu schreiben, verwenden Sie den Präfixoperator - siehe Abschnitt Operatoren. Zusätzlich können die Suffixe K und M verwendet werden, um eine Konstante jeweils zu skalieren. Zum Beispiel beziehen sich alle auf die gleiche Menge: Sofern nicht zitiert, beginnen Symbolnamen mit einem Buchstaben, Unterstrich oder Punkt und können alle Buchstaben, Unterstriche, Ziffern, Punkte und Bindestriche enthalten. Unquoted Symbolnamen dürfen nicht mit Schlüsselwörtern in Konflikt stehen. Sie können ein Symbol angeben, das ungerade Zeichen enthält oder denselben Namen wie ein Schlüsselwort hat, indem er den Symbolnamen in doppelten Anführungszeichen umgibt: Da Symbole viele nicht alphabetische Zeichen enthalten können, ist es am sichersten, Symbole mit Leerzeichen zu begrenzen. Beispielsweise ist A-B ein Symbol, während A-B ein Ausdruck mit Subtraktion ist. Der spezielle Linker-Variablenpunkt. Enthält immer den aktuellen Ausgangsortzähler. Seit der. Bezieht sich immer auf einen Speicherort in einem Ausgabeabschnitt, er muss immer in einem Ausdruck innerhalb eines SECTIONS-Befehls erscheinen. Das. Symbol kann überall auftreten, dass ein gewöhnliches Symbol in einem Ausdruck erlaubt ist, aber seine Zuordnungen haben einen Nebeneffekt. Einem Wert zuordnen. Wird der Standortzähler verschoben. Dies kann verwendet werden, um Löcher in dem Ausgabeabschnitt zu erzeugen. Der Ortszähler darf niemals rückwärts bewegt werden. Im vorherigen Beispiel befindet sich file1 am Anfang des Ausgabeabschnitts, dann gibt es einen 1000-Byte-Abstand. Dann erscheint file2, auch mit einer 1000-Byte-Lücke, bevor file3 geladen wird. Die Notation 0x1234 gibt an, welche Daten in die Lücken geschrieben werden sollen (siehe Abschnitt Optionsattribute). Der Linker verwendet faule Auswertung für Ausdrücke, die er nur einen Ausdruck berechnet, wenn absolut notwendig. Der Linker benötigt den Wert der Startadresse und die Längen der Speicherbereiche, um eine beliebige Verknüpfung bei all diesen Werten durchzuführen, werden so schnell wie möglich berechnet, wenn der Linker in der Befehlsdatei liest. Andere Werte (wie Symbolwerte) sind jedoch erst nach Speicherzuteilung bekannt oder erforderlich. Solche Werte werden später ausgewertet, wenn andere Informationen (wie z. B. die Größen von Ausgabeabschnitten) zur Verwendung in dem Symbolzuordnungsausdruck verfügbar sind. Sie können globale Symbole erstellen und Werte (Adressen) zu globalen Symbolen zuweisen, indem Sie einen der C-Zuweisungsoperatoren verwenden: symbol expression symbol 38 expression symbol expression symbol - expression symbol expression symbol / expression Zwei Dinge unterscheiden die Zuweisung von anderen Operatoren in ld-Ausdrücken. Die Zuweisung darf nur an der Wurzel eines Ausdrucks ab3 verwendet werden, aber ab3 ist ein Fehler. Sie müssen ein abschließendes Semikolon () am Ende einer Zuweisungsanweisung platzieren. Zuweisungsanweisungen können als eigene Befehle in einem ld-Skript oder als unabhängige Anweisungen innerhalb eines SECTIONS-Befehls oder als Teil des Inhalts einer Abschnittdefinition in einem SECTIONS-Befehl erscheinen. Die ersten beiden Fälle sind gleichwertig - beide definieren ein Symbol mit einer absoluten Adresse. Der letzte Fall definiert ein Symbol, dessen Adresse relativ zu einem bestimmten Abschnitt ist (siehe Abschnitt Ausgabebereiche festlegen). Wenn ein Linker-Ausdruck ausgewertet und einer Variablen zugewiesen wird, erhält er entweder einen absoluten oder einen verschiebbaren Typ. Ein absoluter Ausdrucktyp ist derjenige, in dem das Symbol den Wert enthält, den es in der Ausgabedatei haben soll, ein verschiebbarer Ausdrucktyp ist einer, bei dem der Wert als ein fester Versatz von der Basis eines Abschnitts ausgedrückt wird. Der Typ des Ausdrucks wird durch seine Position in der Skriptdatei gesteuert. . Daten. Wenn diese Option nicht angegeben ist, wird eine absolute Datei erstellt. Dies ist nur auf Plattformen sinnvoll, für die gemeinsame Bibliotheken unterstützt werden. Dies ist nur auf Plattformen sinnvoll, für die gemeinsame Bibliotheken unterstützt werden. Sie können diese Option so oft wie nötig verwenden, um mehrere Symbole in der Befehlszeile zu definieren. Verschiedene Compiler haben unterschiedliche Mangling-Stile. Das optionale Demangling-Style-Argument kann verwendet werden, um einen geeigneten Demangling-Stil für Ihren Compiler auszuwählen.


No comments:

Post a Comment