EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

arm-linux-androideabi-dlltool – Online in der Cloud

Führen Sie arm-linux-androideabi-dlltool beim kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl arm-linux-androideabi-dlltool, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


dlltool - Erstellen Sie Dateien, die zum Erstellen und Verwenden von DLLs erforderlich sind.

ZUSAMMENFASSUNG


dlltool [-d|--input-def def-Dateiname]
[-b|--base-Datei Basisdateiname]
[-e|--output-exp exports-dateiname]
[-z|--output-def def-Dateiname]
[-l|--output-lib Bibliothek-Dateiname]
[-y|--output-delaylib Bibliothek-Dateiname]
[--export-alle-symbole] [--no-export-all-symbols]
[--Ausschlusssymbole Liste]
[--no-default-excludes]
[-S|--wie Pfad zum Assembler] [-f|--als-Flags Optionen]
[-D|--dllname Name] [-m|--Maschine Maschine]
[-a|--add-indirekt]
[-U|--Unterstrich hinzufügen] [--add-stdcall-underscore]
[-k|--kill-at] [-A|--add-stdcall-alias]
[-p|--ext-prefix-alias Präfix]
[-x|--no-idata4] [-c|--no-idata5]
[--use-nul-prefixed-import-tables]
[-I|--identifizieren Bibliothek-Dateiname] [--identify-strict]
[-i|- Zusammenarbeit]
[-n|--nodelete] [-t|--temp-Präfix Präfix]
[-v|- ausführlich]
[-h|--help] [-V|--Version]
[--kein führender Unterstrich] [--führender-unterstrich]
[Objekt-Datei ...]

BESCHREIBUNG


dlltool liest seine Eingaben, die von der . kommen können -d und -b Optionen sowie Objekt
in der Befehlszeile angegebenen Dateien. Es verarbeitet dann diese Eingaben und wenn die -e zu erhalten
angegeben wurde, erstellt es eine Exportdatei. Wenn die -l Option wurde angegeben
erstellt eine Bibliotheksdatei und wenn die -z Option angegeben wurde, erstellt sie eine def-Datei. Irgendein
oder alle -e, -l und -z Optionen können in einem Aufruf von dlltool vorhanden sein.

Wenn Sie eine DLL erstellen, müssen Sie zusammen mit der Quelle für die DLL drei
andere Dateien. dlltool kann bei der Erstellung dieser Dateien helfen.

Die erste Datei ist a .DEF Datei, die angibt, welche Funktionen aus der DLL exportiert werden,
welche Funktionen die DLL importiert usw. Dies ist eine Textdatei und kann erstellt werden von
Hand, oder dlltool kann verwendet werden, um es mit dem zu erstellen -z Möglichkeit. In diesem Fall dlltool werden wir
scannen Sie die in der Befehlszeile angegebenen Objektdateien und suchen Sie nach den Funktionen, die
als exportiert gekennzeichnet und Einträge für diese im .DEF archivieren
erstellt.

Um eine Funktion als aus einer DLL exportiert zu markieren, muss sie ein
-Export: Eintrag in der .direktve Abschnitt der Objektdatei. Das kann sein
getan in C mit der asm() Operator:

asm (".section .drectve");
asm (".ascii \"-export:my_func\"");

int my_func (void) { ... }

Die zweite für die DLL-Erstellung benötigte Datei ist eine Exportdatei. Diese Datei ist verknüpft mit dem
Objektdateien, die den Hauptteil der DLL bilden und die Schnittstelle zwischen der DLL handhaben
und die Außenwelt. Dies ist eine Binärdatei, die erstellt werden kann, indem Sie die -e
Option zu dlltool beim Erstellen oder Einlesen von a .DEF Datei.

Die dritte Datei, die für die DLL-Erstellung benötigt wird, ist die Bibliotheksdatei, mit der Programme verknüpft werden
um auf die Funktionen in der DLL (einer „Importbibliothek“) zuzugreifen. Diese Datei kann erstellt werden
durch das Geben der -l Option für dlltool beim Erstellen oder Einlesen von a .DEF Datei.

Besitzt das -y Wenn die Option angegeben ist, generiert dlltool eine Verzögerungsimportbibliothek, die verwendet werden kann
anstelle der normalen Importbibliothek, damit ein Programm nur einmal eine Verknüpfung zur DLL herstellen kann
Eine importierte Funktion wird zum ersten Mal aufgerufen. Die resultierende ausführbare Datei muss
mit der statischen Delayimp-Bibliothek verknüpft sein, die _ enthält_delayLoadHelper2(), die wiederum
importiert LoadLibraryA und GetProcAddress aus kernel32.

dlltool erstellt die Bibliotheksdatei von Hand, aber die Exportdatei durch Erstellen von
temporäre Dateien, die Assembler-Anweisungen enthalten und diese dann assemblieren. Die -S Befehl
line-Option kann verwendet werden, um den Pfad zum Assembler anzugeben, den dlltool verwenden wird, und
-f -Option kann verwendet werden, um bestimmte Flags an diesen Assembler zu übergeben. Die -n kann benutzt werden um
verhindern, dass dlltool diese temporären Assembler-Dateien löscht, wenn es fertig ist, und wenn -n
zweimal angegeben wird, verhindert dies, dass dlltool die temporären Objektdateien löscht
Es wurde verwendet, um die Bibliothek zu bauen.

Hier ist ein Beispiel für das Erstellen einer DLL aus einer Quelldatei dll.c und auch ein Programm erstellen
(aus einer Objektdatei namens Programm.o), die diese DLL verwendet:

gcc -c dll.c
dlltool -e exports.o -l dll.lib dll.o
gcc dll.o exports.o -o dll.dll
gcc program.o dll.lib -o Programm

dlltool kann auch verwendet werden, um eine vorhandene Importbibliothek abzufragen, um den Namen der zu ermitteln
DLL, mit der es verknüpft ist. Siehe die Beschreibung des -I or --identifizieren .

OPTIONAL


Die Befehlszeilenoptionen haben folgende Bedeutungen:

-d Dateinamen
--input-def Dateinamen
Gibt den Namen von a . an .DEF Datei eingelesen und verarbeitet werden.

-b Dateinamen
--base-Datei Dateinamen
Gibt den Namen einer einzulesenden und zu verarbeitenden Basisdatei an. Der Inhalt dieser
Datei wird dem Relocation-Abschnitt in der von dlltool generierten Exportdatei hinzugefügt.

-e Dateinamen
--output-exp Dateinamen
Gibt den Namen der von dlltool zu erstellenden Exportdatei an.

-z Dateinamen
--output-def Dateinamen
Gibt den Namen des .DEF Datei, die von dlltool erstellt werden soll.

-l Dateinamen
--output-lib Dateinamen
Gibt den Namen der Bibliotheksdatei an, die von dlltool erstellt werden soll.

-y Dateinamen
--output-delaylib Dateinamen
Gibt den Namen der Verzögerungsimport-Bibliotheksdatei an, die von dlltool erstellt werden soll.

--export-alle-symbole
Behandeln Sie alle globalen und schwach definierten Symbole in den Eingabeobjektdateien als Symbole
exportiert werden. Es gibt eine kleine Liste von Symbolen, die standardmäßig nicht exportiert werden;
finden Sie in der --no-default-excludes Möglichkeit. Sie können der Liste der Symbole hinzufügen, die Sie nicht verwenden möchten
Exportieren mit dem --Ausschlusssymbole .

--no-export-all-symbols
Nur Symbole exportieren, die explizit in einer Eingabe aufgeführt sind .DEF Datei oder in .direktve Abschnitte in
die Eingabeobjektdateien. Dies ist das Standardverhalten. Die .direktve Abschnitte sind
erstellt von dllexport Attribute im Quellcode.

--Ausschlusssymbole Liste
Exportieren Sie die Symbole nicht in Liste. Dies ist eine Liste von Symbolnamen, die durch Kommas getrennt sind
oder Doppelpunktzeichen. Die Symbolnamen sollten keinen führenden Unterstrich enthalten. Dies
ist nur sinnvoll, wenn --export-alle-symbole wird eingesetzt.

--no-default-excludes
Wann --export-alle-symbole verwendet wird, wird es standardmäßig vermeiden, bestimmte Specials zu exportieren
Symbole. Die aktuelle Liste von Symbolen, um den Export zu vermeiden, ist DllMain@12,
DllEntryPoint@0, unrein_ptr. Sie können die verwenden --no-default-excludes Möglichkeit weiterzumachen
und exportieren Sie diese speziellen Symbole. Das ist nur sinnvoll, wenn --export-alle-symbole
wird eingesetzt.

-S Weg
--wie Weg
Gibt den Pfad, einschließlich des Dateinamens, des Assemblers an, der zum Erstellen der
exportiert Datei.

-f Optionen
--als-Flags Optionen
Gibt alle spezifischen Befehlszeilenoptionen an, die an den Assembler übergeben werden sollen, wenn
Erstellen der Exportdatei. Diese Option funktioniert auch, wenn die -S Option wird nicht verwendet.
Diese Option benötigt nur ein Argument, und wenn es mehr als einmal im Befehl vorkommt
Zeile, dann überschreiben spätere Vorkommen frühere Vorkommen. Also wenn es nötig ist
Um mehrere Optionen an den Assembler zu übergeben, sollten sie in doppelte Anführungszeichen gesetzt werden.

-D Name
--dll-Name Name
Gibt den Namen an, der im gespeichert werden soll .DEF Datei als Name der DLL, wenn die -e
Option verwendet wird. Wenn diese Option nicht vorhanden ist, wird der Dateiname des -e
Option wird als Name der DLL verwendet.

-m Maschine
-Maschine Maschine
Gibt den Maschinentyp an, für den die Bibliotheksdatei erstellt werden soll. dlltool hat
ein eingebauter Standardtyp, je nachdem, wie er erstellt wurde, aber diese Option kann
verwendet, um das zu überschreiben. Dies ist normalerweise nur nützlich, wenn DLLs für einen ARM erstellt werden
Prozessor, wenn der Inhalt der DLL tatsächlich mit Thumb-Befehlen codiert wird.

-a
--add-indirekt
Gibt an, dass wenn dlltool erstellt die Exportdatei, sollte ein Abschnitt hinzugefügt werden, der
ermöglicht die Referenzierung der exportierten Funktionen, ohne die Importbibliothek zu verwenden.
Was auch immer das bedeutet!

-U
--Unterstrich hinzufügen
Gibt an, dass wenn dlltool erstellt die Exportdatei, der sie voranstellen soll
Unterstrich für die Namen von alle exportierte Symbole.

--kein führender Unterstrich
--führender-unterstrich
Gibt an, ob das Präfix des Standardsymbols erzwungen werden soll oder nicht.

--add-stdcall-underscore
Gibt an, dass wenn dlltool erstellt die Exportdatei, der sie voranstellen soll
Unterstrich für die Namen der exportierten Objekte stdcall Funktionen. Variablennamen und Nicht-Standardaufrufe
Funktionsnamen werden nicht geändert. Diese Option ist nützlich, wenn Sie GNU-kompatibel erstellen
Importieren Sie Bibliotheken für DLLs von Drittanbietern, die mit MS-Windows-Tools erstellt wurden.

-k
--kill-at
Gibt an, dass @ Suffixe sollten in den Namen von stdcall weggelassen werden
Funktionen, die aus der DLL importiert werden. Dies ist beim Erstellen eines Imports nützlich
Bibliothek für eine DLL, die stdcall-Funktionen exportiert, jedoch ohne das Übliche @
Symbolnamenssuffix.

Die Benennung der von der Importbibliothek für Programme bereitgestellten Symbole ändert sich dadurch nicht
dagegen verlinkt, aber nur die Einträge in der Importtabelle (also dem .idata-Abschnitt).

-A
--add-stdcall-alias
Gibt an, dass wenn dlltool erstellt die Exportdatei, für die sie Aliase hinzufügen soll
stdcall-Symbole ohne @ zusätzlich zu den Symbolen mit @ .

-p
--ext-prefix-alias Präfix
Ursachen dlltool um externe Aliase für alle DLL-Importe mit den angegebenen
Präfix. Die Aliasnamen werden sowohl für externe als auch für importierte Symbole ohne führende Zeichen erstellt
unterstreichen.

-x
--no-idata4
Gibt an, dass wenn dlltool erstellt die Exporte und Bibliotheksdateien, die weggelassen werden sollen
den Abschnitt ".idata4". Dies dient der Kompatibilität mit bestimmten Betriebssystemen.

--use-nul-prefixed-import-tables
Gibt an, dass wenn dlltool erstellt die Exporte und Bibliotheksdateien, die ihm vorangestellt werden sollen
die „.idata4“ und „.idata5“ durch Nullen ein Element. Dies emuliert die alte GNU-Importbibliothek
Generation von „dlltool“. Standardmäßig ist diese Option deaktiviert.

-c
--no-idata5
Gibt an, dass wenn dlltool erstellt die Exporte und Bibliotheksdateien, die weggelassen werden sollen
den Abschnitt ".idata5". Dies dient der Kompatibilität mit bestimmten Betriebssystemen.

-I Dateinamen
--identifizieren Dateinamen
Gibt an, dass dlltool sollte die von angegebene Importbibliothek überprüfen Dateinamen und
meldet auf „stdout“ den/die Namen der zugehörigen DLL(s). Dies kann in durchgeführt werden
Zusätzlich zu allen anderen Operationen, die durch die anderen Optionen und Argumente angegeben werden.
dlltool schlägt fehl, wenn die Importbibliothek nicht vorhanden ist oder es sich nicht tatsächlich um einen Import handelt
Bibliothek. Siehe auch --identify-strict.

--identify-strict
Ändert das Verhalten des --identifizieren Option, so dass ein Fehler gemeldet wird, wenn
Dateinamen ist mit mehr als einer DLL verknüpft.

-i
- Zusammenarbeit
Gibt an, dass dlltool sollte die Objekte in der Bibliotheksdatei und Exportdatei markieren
die es erzeugt, um die Zusammenarbeit zwischen ARM- und Thumb-Code zu unterstützen.

-n
--nodelete
Macht dlltool Bewahren Sie die temporären Assembler-Dateien auf, die zum Erstellen der Exporte verwendet wurden
Datei. Wenn diese Option wiederholt wird, behält dlltool auch das temporäre Objekt bei
Dateien, die es verwendet, um die Bibliotheksdatei zu erstellen.

-t Präfix
--temp-Präfix Präfix
Macht dlltool - Präfix beim Erstellen der Namen von temporärem Assembler und Objekt
Dateien. Standardmäßig wird das Präfix der temporären Datei aus der pid generiert.

-v
- ausführlich
Lassen Sie dlltool beschreiben, was es tut.

-h
--help
Zeigt eine Liste mit Befehlszeilenoptionen an und wird dann beendet.

-V
--Version
Zeigt die Versionsnummer von dlltool an und wird dann beendet.

@Datei
Lesen Sie die Befehlszeilenoptionen von Datei. Die gelesenen Optionen werden anstelle der eingefügt
Original @Datei Möglichkeit. Wenn Datei nicht existiert oder nicht gelesen werden kann, dann ist die Option
wörtlich behandelt und nicht entfernt.

Optionen in Datei werden durch Leerzeichen getrennt. Ein Leerzeichen kann enthalten sein
in einer Option, indem Sie die gesamte Option in einfache oder doppelte Anführungszeichen setzen. Irgendein
Zeichen (einschließlich eines umgekehrten Schrägstrichs) können eingefügt werden, indem dem Zeichen vorangestellt wird
mit Backslash enthalten. Die Datei kann selbst zusätzliches @ enthaltenDatei Optionen; irgendein
solche Optionen werden rekursiv verarbeitet.

Verwenden Sie arm-linux-androideabi-dlltool online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad