dlltool(1)

Från Wiki.linux.se
Version från den 2 mars 2025 kl. 12.55 av Admin (diskussion | bidrag) (Skapade sidan med '== Namn == '''dlltool''' – skapa filer som behövs för att bygga och använda DLL-filer == Synopsis == <pre> dlltool [-d|--input-def def-fil] [-b|--base-file basfil] [-e|--output-exp export-fil] [-z|--output-def def-fil] [-l|--output-lib bibliotek-fil] [-y|--output-delaylib bibliotek-fil] [--export-all-symbols] [--no-export-all-symbols] [--exclude-symbols lista] [--no-default-excludes] [-S|--as assembler-sökväg] [-f|--as-flags alternativ]...')
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

Namn

dlltool – skapa filer som behövs för att bygga och använda DLL-filer

Synopsis

dlltool [-d|--input-def def-fil] [-b|--base-file basfil] [-e|--output-exp export-fil]
        [-z|--output-def def-fil] [-l|--output-lib bibliotek-fil] [-y|--output-delaylib bibliotek-fil]
        [--export-all-symbols] [--no-export-all-symbols] [--exclude-symbols lista]
        [--no-default-excludes] [-S|--as assembler-sökväg] [-f|--as-flags alternativ]
        [-D|--dllname namn] [-m|--machine arkitektur] [-a|--add-indirect]
        [-U|--add-underscore] [--add-stdcall-underscore] [-k|--kill-at]
        [-A|--add-stdcall-alias] [-p|--ext-prefix-alias prefix]
        [-x|--no-idata4] [-c|--no-idata5] [--use-nul-prefixed-import-tables]
        [-I|--identify bibliotek-fil] [--identify-strict]
        [-i|--interwork] [-n|--nodelete] [-t|--temp-prefix prefix]
        [-v|--verbose] [-h|--help] [-V|--version]
        [--no-leading-underscore] [--leading-underscore]
        [--deterministic-libraries] [--non-deterministic-libraries]
        [objektfil ...]

Beskrivning

dlltool läser in sina indata från alternativ som -d och -b samt objektfiler som anges på kommandoraden. Därefter behandlar den dessa data och skapar olika filer:

  • Om -e anges skapas en exportfil.
  • Om -l anges skapas en bibliotekfil.
  • Om -z anges skapas en .def-fil.

När en DLL skapas behövs tre ytterligare filer. dlltool kan hjälpa till att generera dessa.

1. .def-fil

Denna fil anger vilka funktioner som exporteras/importeras i DLL:en. Den kan skapas manuellt eller genereras med:

dlltool -z fil.def objektfiler...

Funktioner kan markeras för export i en objektfil med:

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

2. Exportfil

Denna fil används vid länkning av DLL:en och skapas med:

dlltool -e exports.o -l dll.lib objektfiler...

3. Biblioteksfil (importbibliotek)

Program som använder DLL:en länkar mot denna fil, som skapas med:

dlltool -l dll.lib objektfiler...

Om -y anges skapas istället ett fördröjt importbibliotek (delayload). Detta gör att DLL:en laddas först när en funktion anropas första gången.

Exempel på att skapa en DLL från dll.c och ett program som använder den:

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 program

dlltool kan även identifiera vilken DLL ett importbibliotek hör till:

dlltool --identify bibliotek.lib

Alternativ

-d, --input-def fil

Anger en .def-fil att läsa in.

-b, --base-file fil

Anger en basfil att läsa in.

-e, --output-exp fil

Skapar en exportfil.

-z, --output-def fil

Skapar en .def-fil.

-l, --output-lib fil

Skapar ett importbibliotek.

-y, --output-delaylib fil

Skapar ett fördröjt importbibliotek (delayload).

--export-all-symbols

Exporterar alla globala symboler.

--exclude-symbols lista

Anger symboler som inte ska exporteras.

-S, --as sökväg

Anger sökväg till assembler.

-f, --as-flags alternativ

Skickar alternativ till assemblern.

-D, --dll-name namn

Anger DLL-namnet i .def-filen.

-m, --machine arkitektur

Anger arkitektur, t.ex. arm.

-U, --add-underscore

Lägger till ett understrykningstecken till alla exporterade symboler.

-k, --kill-at

Tar bort @num-suffix från stdcall-funktioner.

-A, --add-stdcall-alias

Lägger till alias för stdcall-funktioner utan @num.

-p, --ext-prefix-alias prefix

Skapar externa alias med ett prefix.

-x, --no-idata4, -c, --no-idata5

Utesluter sektionerna .idata4 och .idata5.

-I, --identify fil

Identifierar DLL:en för ett importbibliotek.

-v, --verbose

Skriver ut detaljerad information.

-h, --help

Visar hjälp och avslutar.

-V, --version

Visar versionsinformation och avslutar.

Se även

  • binutils – Verktyg för hantering av binära filer
  • gcc – GNU Compiler Collection

Copyright

Copyright © 1991–2025 Free Software Foundation, Inc. Denna dokumentation får kopieras, distribueras och modifieras enligt villkoren i GNU Free Documentation License version 1.3 eller senare.

Kolofon

Denna sida är en del av binutils-projektet. Mer information: http://www.gnu.org/software/binutils/

Buggrapporter kan skickas till: Bugzilla – Binutils

Denna sida genererades från källkoden den 2025-02-02.


Sidslut

Orginalhemsidan på Engelska :https://man7.org/linux/man-pages/man1/dlltool.1.html


Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.