https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Dynamic_Link_Library Dynamic Link Library - Versionsgeschichte 2025-06-05T22:08:22Z Versionsgeschichte dieser Seite in Wikipedia MediaWiki 1.45.0-wmf.4 https://de.wikipedia.org/w/index.php?title=Dynamic_Link_Library&diff=255361786&oldid=prev Siegbert v2: Das Logo war etwas zu überdimensioniert; dafür gibt es in der Infobox den Parameter Icon 2025-04-22T02:06:14Z <p>Das Logo war etwas zu überdimensioniert; dafür gibt es in der Infobox den Parameter Icon</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 22. April 2025, 04:06 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Infobox Dateiformat</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Infobox Dateiformat</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Name = Dynamic Link Library</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Name = Dynamic Link Library</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Der Absatz wurde verschoben. Klicken, um zur alten Stelle zu springen." href="#movedpara_4_0_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_1_0_rhs"></a><ins style="font-weight: bold; text-decoration: none;">| Icon = </ins>[[Datei:Dll_icon.png | <ins style="font-weight: bold; text-decoration: none;">48px</ins> | alternativtext=Es zeigt zwei einfache geometrische Formen<ins style="font-weight: bold; text-decoration: none;">&amp;nbsp;–</ins> ein großes und ein kleines Zahnrad. | Icon des Dateiformats DLL]]</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| Icon = </div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Logo = </div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Logo = </div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Screenshot = </div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Screenshot = </div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 24:</td> <td colspan="2" class="diff-lineno">Zeile 24:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Der Absatz wurde verschoben. Klicken, um zur neuen Stelle zu springen." href="#movedpara_1_0_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_4_0_lhs"></a>[[Datei:Dll_icon.png | <del style="font-weight: bold; text-decoration: none;">mini | rechts</del> | alternativtext=Es zeigt zwei einfache geometrische Formen<del style="font-weight: bold; text-decoration: none;"> -</del> ein großes und ein kleines Zahnrad. | Icon des Dateiformats DLL]]</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Dynamic Link Library''' (aus dem [[Amerikanisches Englisch|Englischen]] entlehnt; kurz '''DLL''') bezeichnet allgemein eine [[Programmbibliothek#Dynamische Bibliotheken|dynamische Programmbibliothek]]; meist bezieht sich der Begriff jedoch auf die für die [[Betriebssystem]]e [[Microsoft Windows|Windows]] und [[OS/2]] verwendete Variante.&lt;ref&gt;{{Internetquelle |url=https://www.computerweekly.com/de/definition/Dynamic-Link-Library-DLL |titel=Was ist Dynamic Link Library (DLL)? - Definition von WhatIs.com |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/tipps-tricks/DLL-Datei-was-ist-das-4613457.html |titel=DLL-Datei - was ist das? |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Dynamic Link Library''' (aus dem [[Amerikanisches Englisch|Englischen]] entlehnt; kurz '''DLL''') bezeichnet allgemein eine [[Programmbibliothek#Dynamische Bibliotheken|dynamische Programmbibliothek]]; meist bezieht sich der Begriff jedoch auf die für die [[Betriebssystem]]e [[Microsoft Windows|Windows]] und [[OS/2]] verwendete Variante.&lt;ref&gt;{{Internetquelle |url=https://www.computerweekly.com/de/definition/Dynamic-Link-Library-DLL |titel=Was ist Dynamic Link Library (DLL)? - Definition von WhatIs.com |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/tipps-tricks/DLL-Datei-was-ist-das-4613457.html |titel=DLL-Datei - was ist das? |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> Siegbert v2 https://de.wikipedia.org/w/index.php?title=Dynamic_Link_Library&diff=251662784&oldid=prev Bithisarea: /* growthexperiments-addlink-summary-summary:3|0|0 */ 2024-12-28T18:05:32Z <p>Linkvorschlag-Funktion: 3 Links hinzugefügt.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 28. Dezember 2024, 20:05 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 27:</td> <td colspan="2" class="diff-lineno">Zeile 27:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Dynamic Link Library''' (aus dem [[Amerikanisches Englisch|Englischen]] entlehnt; kurz '''DLL''') bezeichnet allgemein eine [[Programmbibliothek#Dynamische Bibliotheken|dynamische Programmbibliothek]]; meist bezieht sich der Begriff jedoch auf die für die [[Betriebssystem]]e [[Microsoft Windows|Windows]] und [[OS/2]] verwendete Variante.&lt;ref&gt;{{Internetquelle |url=https://www.computerweekly.com/de/definition/Dynamic-Link-Library-DLL |titel=Was ist Dynamic Link Library (DLL)? - Definition von WhatIs.com |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/tipps-tricks/DLL-Datei-was-ist-das-4613457.html |titel=DLL-Datei - was ist das? |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Dynamic Link Library''' (aus dem [[Amerikanisches Englisch|Englischen]] entlehnt; kurz '''DLL''') bezeichnet allgemein eine [[Programmbibliothek#Dynamische Bibliotheken|dynamische Programmbibliothek]]; meist bezieht sich der Begriff jedoch auf die für die [[Betriebssystem]]e [[Microsoft Windows|Windows]] und [[OS/2]] verwendete Variante.&lt;ref&gt;{{Internetquelle |url=https://www.computerweekly.com/de/definition/Dynamic-Link-Library-DLL |titel=Was ist Dynamic Link Library (DLL)? - Definition von WhatIs.com |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/tipps-tricks/DLL-Datei-was-ist-das-4613457.html |titel=DLL-Datei - was ist das? |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>DLL-[[Datei]]en verwenden das auch für ausführbare [[EXE]]-Dateien gebräuchliche Dateiformat, das in 16-Bit-Programmen das [[New Executable|New-Executable]]-Format,&lt;ref name="NE"&gt;K. B. Microsoft: [http://support.microsoft.com/kb/65122/de Executable-File Header Format]&lt;/ref&gt; in 16- und 32-Bit-Programmen das [[Linear Executable|Linear-Executable]]-Format sowie in 32- und 64-Bit-Programmen das [[Portable Executable|Portable-Executable]]-Format ist. Diese Dateien können Programmcode ([[Maschinensprache|Maschinencode]]), Daten und [[Ressource (Software)|Ressourcen]] in beliebiger Kombination enthalten.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>DLL-[[Datei]]en verwenden das auch für ausführbare [[EXE]]-Dateien gebräuchliche <ins style="font-weight: bold; text-decoration: none;">[[</ins>Dateiformat<ins style="font-weight: bold; text-decoration: none;">]]</ins>, das in 16-Bit-Programmen das [[New Executable|New-Executable]]-Format,&lt;ref name="NE"&gt;K. B. Microsoft: [http://support.microsoft.com/kb/65122/de Executable-File Header Format]&lt;/ref&gt; in 16- und 32-Bit-Programmen das [[Linear Executable|Linear-Executable]]-Format sowie in 32- und 64-Bit-Programmen das [[Portable Executable|Portable-Executable]]-Format ist. Diese Dateien können Programmcode ([[Maschinensprache|Maschinencode]]), Daten und [[Ressource (Software)|Ressourcen]] in beliebiger Kombination enthalten.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Windows-[[Dateinamenserweiterung]] für solche Bibliotheken ist gewöhnlich &lt;code&gt;DLL&lt;/code&gt;. Zudem können es jedoch auch andere Dateiendungen, wie &lt;code&gt;CPL&lt;/code&gt; (für die [[Systemsteuerung]]), &lt;code&gt;OCX&lt;/code&gt; (für Bibliotheken mit [[ActiveX]]-Steuerelementen) oder auch &lt;code&gt;DRV&lt;/code&gt; (für [[Gerätetreiber|Treiber]]), sein.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Windows-[[Dateinamenserweiterung]] für solche Bibliotheken ist gewöhnlich &lt;code&gt;DLL&lt;/code&gt;. Zudem können es jedoch auch andere Dateiendungen, wie &lt;code&gt;CPL&lt;/code&gt; (für die [[Systemsteuerung]]), &lt;code&gt;OCX&lt;/code&gt; (für Bibliotheken mit [[ActiveX]]-Steuerelementen) oder auch &lt;code&gt;DRV&lt;/code&gt; (für [[Gerätetreiber|Treiber]]), sein.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 54:</td> <td colspan="2" class="diff-lineno">Zeile 54:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== DLL-Datei-Aufbau ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== DLL-Datei-Aufbau ===</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Eine DLL hat (nach dem [[MZ-Datei|MZ-Header]]) denselben [[New Executable|NE]]-, [[Linear Executable|LE/LX]]- oder [[Portable Executable|PE]]-Header wie eine normale ausführbare Datei, nur ist im Falle einer NE der DWORD-Flag an der Adresse 0C&lt;sub&gt;hex&lt;/sub&gt; im NE-Header auf 8000&lt;sub&gt;hex&lt;/sub&gt; gesetzt (Library Module flag)&lt;ref name="NE" /&gt; beziehungsweise im PE-Header im ''Characteristics''-Wert das ''IMAGE_FILE_DLL''-Bit gesetzt. Während sowohl DLLs als auch ausführbare Dateien eine „Export-Tabelle“ besitzen können, wird dies bei letzteren selten benutzt. In dieser Export-Tabelle sind alle Namen der Funktionen und Variablen aufgelistet, die die DLL an externe Software zur Verfügung stellt. Diese Namen müssen alphabetisch sortiert sein, damit der Loader sie finden kann.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Eine DLL hat (nach dem [[MZ-Datei|MZ-Header]]) denselben [[New Executable|NE]]-, [[Linear Executable|LE/LX]]- oder [[Portable Executable|PE]]-Header wie eine normale <ins style="font-weight: bold; text-decoration: none;">[[</ins>ausführbare Datei<ins style="font-weight: bold; text-decoration: none;">]]</ins>, nur ist im Falle einer NE der DWORD-Flag an der Adresse 0C&lt;sub&gt;hex&lt;/sub&gt; im NE-Header auf 8000&lt;sub&gt;hex&lt;/sub&gt; gesetzt (Library Module flag)&lt;ref name="NE" /&gt; beziehungsweise im PE-Header im ''Characteristics''-Wert das ''IMAGE_FILE_DLL''-Bit gesetzt. Während sowohl DLLs als auch ausführbare Dateien eine „Export-Tabelle“ besitzen können, wird dies bei letzteren selten benutzt. In dieser Export-Tabelle sind alle Namen der Funktionen und Variablen aufgelistet, die die DLL an externe Software zur Verfügung stellt. Diese Namen müssen alphabetisch sortiert sein, damit der Loader sie finden kann.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Aufruf eines DLL-Befehles durch ein Programm ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Aufruf eines DLL-Befehles durch ein Programm ===</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 215:</td> <td colspan="2" class="diff-lineno">Zeile 215:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Win32-DLLs im .Net-Framework verwenden ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Win32-DLLs im .Net-Framework verwenden ===</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>In .NET werden DLLs mithilfe des DllImport-Attributs eingebunden. Dazu ist der Namespace „System.Runtime.InteropServices“ nötig. Der Funktionsprototyp wird in [[C-Sharp|C#]] als „extern“ angegeben, was in [[VB.NET]] nicht nötig ist, anschließend kann die Funktion wie jede andere angesprochen werden:</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>In .NET werden DLLs mithilfe des DllImport-Attributs eingebunden. Dazu ist der Namespace „System.Runtime.InteropServices“ nötig. Der <ins style="font-weight: bold; text-decoration: none;">[[</ins>Funktionsprototyp<ins style="font-weight: bold; text-decoration: none;">]]</ins> wird in [[C-Sharp|C#]] als „extern“ angegeben, was in [[VB.NET]] nicht nötig ist, anschließend kann die Funktion wie jede andere angesprochen werden:</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== C# ====</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== C# ====</div></td> </tr> </table> Bithisarea https://de.wikipedia.org/w/index.php?title=Dynamic_Link_Library&diff=251434063&oldid=prev Y2kbug: /* Laden von DLLs bei einem Programmstart */ Wie vorherigen Edit: wenn "Import-Tabelle" nun auf deutsch verwendet wird, muss man es nicht extra hervorheben (außer bei der ersten Erwähnung) 2024-12-21T09:40:21Z <p><span class="autocomment">Laden von DLLs bei einem Programmstart: </span> Wie vorherigen Edit: wenn &quot;Import-Tabelle&quot; nun auf deutsch verwendet wird, muss man es nicht extra hervorheben (außer bei der ersten Erwähnung)</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. Dezember 2024, 11:40 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 51:</td> <td colspan="2" class="diff-lineno">Zeile 51:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Laden von DLLs bei einem Programmstart ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Laden von DLLs bei einem Programmstart ===</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Wenn ein Programm ausgeführt werden soll, dann wird es vom Loader des Betriebssystems in den Speicher geladen und die <del style="font-weight: bold; text-decoration: none;">''Import</del>-<del style="font-weight: bold; text-decoration: none;">Tabelle''</del> des Programms ausgelesen. In dieser Tabelle befinden sich alle DLL-Befehls-Namen oder die Ordnungszahlen der DLL-Befehle, die von diesem Programm benötigt werden. Der Loader lädt nun die fehlenden DLLs in den Speicher und fügt in der <del style="font-weight: bold; text-decoration: none;">''</del>Import-Tabelle<del style="font-weight: bold; text-decoration: none;">''</del> des Programms die Einsprungadressen der einzelnen Befehle ein.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Wenn ein Programm ausgeführt werden soll, dann wird es vom Loader des Betriebssystems in den Speicher geladen und die <ins style="font-weight: bold; text-decoration: none;">„Import</ins>-<ins style="font-weight: bold; text-decoration: none;">Tabelle“</ins> des Programms ausgelesen. In dieser Tabelle befinden sich alle DLL-Befehls-Namen oder die Ordnungszahlen der DLL-Befehle, die von diesem Programm benötigt werden. Der Loader lädt nun die fehlenden DLLs in den Speicher und fügt in der Import-Tabelle des Programms die Einsprungadressen der einzelnen Befehle ein.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== DLL-Datei-Aufbau ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== DLL-Datei-Aufbau ===</div></td> </tr> </table> Y2kbug https://de.wikipedia.org/w/index.php?title=Dynamic_Link_Library&diff=251434032&oldid=prev Y2kbug: /* DLL-Datei-Aufbau */ Wenn "Export-Tabelle" nun deutsch verwendet wird, muss man es nicht mehr herausheben... 2024-12-21T09:39:06Z <p><span class="autocomment">DLL-Datei-Aufbau: </span> Wenn &quot;Export-Tabelle&quot; nun deutsch verwendet wird, muss man es nicht mehr herausheben...</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. Dezember 2024, 11:39 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 54:</td> <td colspan="2" class="diff-lineno">Zeile 54:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== DLL-Datei-Aufbau ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== DLL-Datei-Aufbau ===</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Eine DLL hat (nach dem [[MZ-Datei|MZ-Header]]) denselben [[New Executable|NE]]-, [[Linear Executable|LE/LX]]- oder [[Portable Executable|PE]]-Header wie eine normale ausführbare Datei, nur ist im Falle einer NE der DWORD-Flag an der Adresse 0C&lt;sub&gt;hex&lt;/sub&gt; im NE-Header auf 8000&lt;sub&gt;hex&lt;/sub&gt; gesetzt (Library Module flag)&lt;ref name="NE" /&gt; beziehungsweise im PE-Header im ''Characteristics''-Wert das ''IMAGE_FILE_DLL''-Bit gesetzt. Während sowohl DLLs als auch ausführbare Dateien eine <del style="font-weight: bold; text-decoration: none;">''Export</del>-<del style="font-weight: bold; text-decoration: none;">Tabelle''</del> besitzen können, wird dies bei letzteren selten benutzt. In dieser <del style="font-weight: bold; text-decoration: none;">„Export</del>-<del style="font-weight: bold; text-decoration: none;">Tabelle“</del> sind alle Namen der Funktionen und Variablen aufgelistet, die die DLL an externe Software zur Verfügung stellt. Diese Namen müssen alphabetisch sortiert sein, damit der Loader sie finden kann.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Eine DLL hat (nach dem [[MZ-Datei|MZ-Header]]) denselben [[New Executable|NE]]-, [[Linear Executable|LE/LX]]- oder [[Portable Executable|PE]]-Header wie eine normale ausführbare Datei, nur ist im Falle einer NE der DWORD-Flag an der Adresse 0C&lt;sub&gt;hex&lt;/sub&gt; im NE-Header auf 8000&lt;sub&gt;hex&lt;/sub&gt; gesetzt (Library Module flag)&lt;ref name="NE" /&gt; beziehungsweise im PE-Header im ''Characteristics''-Wert das ''IMAGE_FILE_DLL''-Bit gesetzt. Während sowohl DLLs als auch ausführbare Dateien eine <ins style="font-weight: bold; text-decoration: none;">„Export</ins>-<ins style="font-weight: bold; text-decoration: none;">Tabelle“</ins> besitzen können, wird dies bei letzteren selten benutzt. In dieser <ins style="font-weight: bold; text-decoration: none;">Export</ins>-<ins style="font-weight: bold; text-decoration: none;">Tabelle</ins> sind alle Namen der Funktionen und Variablen aufgelistet, die die DLL an externe Software zur Verfügung stellt. Diese Namen müssen alphabetisch sortiert sein, damit der Loader sie finden kann.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Aufruf eines DLL-Befehles durch ein Programm ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Aufruf eines DLL-Befehles durch ein Programm ===</div></td> </tr> </table> Y2kbug https://de.wikipedia.org/w/index.php?title=Dynamic_Link_Library&diff=251433995&oldid=prev Y2kbug: /* DLL-Datei-Aufbau */ LE bzw. LX... 2024-12-21T09:37:55Z <p><span class="autocomment">DLL-Datei-Aufbau: </span> LE bzw. LX...</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. Dezember 2024, 11:37 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 54:</td> <td colspan="2" class="diff-lineno">Zeile 54:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== DLL-Datei-Aufbau ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== DLL-Datei-Aufbau ===</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Eine DLL hat (nach dem [[MZ-Datei|MZ-Header]]) denselben [[New Executable|NE]]-, [[Linear Executable|LE]]- oder [[Portable Executable|PE]]-Header wie eine normale ausführbare Datei, nur ist im Falle einer NE der DWORD-Flag an der Adresse 0C&lt;sub&gt;hex&lt;/sub&gt; im NE-Header auf 8000&lt;sub&gt;hex&lt;/sub&gt; gesetzt (Library Module flag)&lt;ref name="NE" /&gt; beziehungsweise im PE-Header im ''Characteristics''-Wert das ''IMAGE_FILE_DLL''-Bit gesetzt. Während sowohl DLLs als auch ausführbare Dateien eine ''Export-Tabelle'' besitzen können, wird dies bei letzteren selten benutzt. In dieser „Export-Tabelle“ sind alle Namen der Funktionen und Variablen aufgelistet, die die DLL an externe Software zur Verfügung stellt. Diese Namen müssen alphabetisch sortiert sein, damit der Loader sie finden kann.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Eine DLL hat (nach dem [[MZ-Datei|MZ-Header]]) denselben [[New Executable|NE]]-, [[Linear Executable|LE<ins style="font-weight: bold; text-decoration: none;">/LX</ins>]]- oder [[Portable Executable|PE]]-Header wie eine normale ausführbare Datei, nur ist im Falle einer NE der DWORD-Flag an der Adresse 0C&lt;sub&gt;hex&lt;/sub&gt; im NE-Header auf 8000&lt;sub&gt;hex&lt;/sub&gt; gesetzt (Library Module flag)&lt;ref name="NE" /&gt; beziehungsweise im PE-Header im ''Characteristics''-Wert das ''IMAGE_FILE_DLL''-Bit gesetzt. Während sowohl DLLs als auch ausführbare Dateien eine ''Export-Tabelle'' besitzen können, wird dies bei letzteren selten benutzt. In dieser „Export-Tabelle“ sind alle Namen der Funktionen und Variablen aufgelistet, die die DLL an externe Software zur Verfügung stellt. Diese Namen müssen alphabetisch sortiert sein, damit der Loader sie finden kann.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Aufruf eines DLL-Befehles durch ein Programm ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Aufruf eines DLL-Befehles durch ein Programm ===</div></td> </tr> </table> Y2kbug https://de.wikipedia.org/w/index.php?title=Dynamic_Link_Library&diff=251433944&oldid=prev Y2kbug: /* DLL-Datei-Aufbau */ Nachdem die Abkürzungen per vorherigem Edit aus der Einleitung weggekürzt wurden, sind sie hier nun nicht vorher erklärt; daher verlinkt 2024-12-21T09:36:15Z <p><span class="autocomment">DLL-Datei-Aufbau: </span> Nachdem die Abkürzungen per vorherigem Edit aus der Einleitung weggekürzt wurden, sind sie hier nun nicht vorher erklärt; daher verlinkt</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. Dezember 2024, 11:36 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 54:</td> <td colspan="2" class="diff-lineno">Zeile 54:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== DLL-Datei-Aufbau ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== DLL-Datei-Aufbau ===</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Eine DLL hat (nach dem [[MZ-Datei|MZ-Header]]) denselben NE-, LE- oder PE-Header wie eine normale ausführbare Datei, nur ist im Falle einer NE der DWORD-Flag an der Adresse 0C&lt;sub&gt;hex&lt;/sub&gt; im NE-Header auf 8000&lt;sub&gt;hex&lt;/sub&gt; gesetzt (Library Module flag)&lt;ref name="NE" /&gt; beziehungsweise im PE-Header im ''Characteristics''-Wert das ''IMAGE_FILE_DLL''-Bit gesetzt. Während sowohl DLLs als auch ausführbare Dateien eine ''Export-Tabelle'' besitzen können, wird dies bei letzteren selten benutzt. In dieser „Export-Tabelle“ sind alle Namen der Funktionen und Variablen aufgelistet, die die DLL an externe Software zur Verfügung stellt. Diese Namen müssen alphabetisch sortiert sein, damit der Loader sie finden kann.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Eine DLL hat (nach dem [[MZ-Datei|MZ-Header]]) denselben <ins style="font-weight: bold; text-decoration: none;">[[New Executable|</ins>NE<ins style="font-weight: bold; text-decoration: none;">]]</ins>-, <ins style="font-weight: bold; text-decoration: none;">[[Linear Executable|</ins>LE<ins style="font-weight: bold; text-decoration: none;">]]</ins>- oder <ins style="font-weight: bold; text-decoration: none;">[[Portable Executable|</ins>PE<ins style="font-weight: bold; text-decoration: none;">]]</ins>-Header wie eine normale ausführbare Datei, nur ist im Falle einer NE der DWORD-Flag an der Adresse 0C&lt;sub&gt;hex&lt;/sub&gt; im NE-Header auf 8000&lt;sub&gt;hex&lt;/sub&gt; gesetzt (Library Module flag)&lt;ref name="NE" /&gt; beziehungsweise im PE-Header im ''Characteristics''-Wert das ''IMAGE_FILE_DLL''-Bit gesetzt. Während sowohl DLLs als auch ausführbare Dateien eine ''Export-Tabelle'' besitzen können, wird dies bei letzteren selten benutzt. In dieser „Export-Tabelle“ sind alle Namen der Funktionen und Variablen aufgelistet, die die DLL an externe Software zur Verfügung stellt. Diese Namen müssen alphabetisch sortiert sein, damit der Loader sie finden kann.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Aufruf eines DLL-Befehles durch ein Programm ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Aufruf eines DLL-Befehles durch ein Programm ===</div></td> </tr> </table> Y2kbug https://de.wikipedia.org/w/index.php?title=Dynamic_Link_Library&diff=251432145&oldid=prev 78.54.9.113: weiter gekürzt; wie zuvor, siehe ggf. in den jeweils zugehörigen Zieleinträgen 2024-12-21T08:24:35Z <p>weiter gekürzt; wie zuvor, siehe ggf. in den jeweils zugehörigen Zieleinträgen</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. Dezember 2024, 10:24 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 27:</td> <td colspan="2" class="diff-lineno">Zeile 27:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Dynamic Link Library''' (aus dem [[Amerikanisches Englisch|Englischen]] entlehnt; kurz '''DLL''') bezeichnet allgemein eine [[Programmbibliothek#Dynamische Bibliotheken|dynamische Programmbibliothek]]; meist bezieht sich der Begriff jedoch auf die für die [[Betriebssystem]]e [[Microsoft Windows|Windows]] und [[OS/2]] verwendete Variante.&lt;ref&gt;{{Internetquelle |url=https://www.computerweekly.com/de/definition/Dynamic-Link-Library-DLL |titel=Was ist Dynamic Link Library (DLL)? - Definition von WhatIs.com |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/tipps-tricks/DLL-Datei-was-ist-das-4613457.html |titel=DLL-Datei - was ist das? |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Dynamic Link Library''' (aus dem [[Amerikanisches Englisch|Englischen]] entlehnt; kurz '''DLL''') bezeichnet allgemein eine [[Programmbibliothek#Dynamische Bibliotheken|dynamische Programmbibliothek]]; meist bezieht sich der Begriff jedoch auf die für die [[Betriebssystem]]e [[Microsoft Windows|Windows]] und [[OS/2]] verwendete Variante.&lt;ref&gt;{{Internetquelle |url=https://www.computerweekly.com/de/definition/Dynamic-Link-Library-DLL |titel=Was ist Dynamic Link Library (DLL)? - Definition von WhatIs.com |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/tipps-tricks/DLL-Datei-was-ist-das-4613457.html |titel=DLL-Datei - was ist das? |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>DLL-[[Datei]]en verwenden das auch für ausführbare [[EXE]]-Dateien gebräuchliche Dateiformat, das in 16-Bit-Programmen das [[New Executable|New-Executable]]-Format<del style="font-weight: bold; text-decoration: none;"> (NE)</del>,&lt;ref name="NE"&gt;K. B. Microsoft: [http://support.microsoft.com/kb/65122/de Executable-File Header Format]&lt;/ref&gt; in 16- und 32-Bit-Programmen das [[Linear Executable|Linear-Executable]]-Format<del style="font-weight: bold; text-decoration: none;"> (LE/LX)</del> sowie in 32- und 64-Bit-Programmen das [[Portable Executable|Portable-Executable]]-Format<del style="font-weight: bold; text-decoration: none;"> (PE, Windows)</del> ist. Diese Dateien können Programmcode ([[Maschinensprache|Maschinencode]]), Daten und [[Ressource (Software)|Ressourcen]] in beliebiger Kombination enthalten.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>DLL-[[Datei]]en verwenden das auch für ausführbare [[EXE]]-Dateien gebräuchliche Dateiformat, das in 16-Bit-Programmen das [[New Executable|New-Executable]]-Format,&lt;ref name="NE"&gt;K. B. Microsoft: [http://support.microsoft.com/kb/65122/de Executable-File Header Format]&lt;/ref&gt; in 16- und 32-Bit-Programmen das [[Linear Executable|Linear-Executable]]-Format sowie in 32- und 64-Bit-Programmen das [[Portable Executable|Portable-Executable]]-Format ist. Diese Dateien können Programmcode ([[Maschinensprache|Maschinencode]]), Daten und [[Ressource (Software)|Ressourcen]] in beliebiger Kombination enthalten.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Windows-[[Dateinamenserweiterung]] für solche Bibliotheken ist gewöhnlich &lt;code&gt;DLL&lt;/code&gt;. Zudem können es jedoch auch andere Dateiendungen, wie &lt;code&gt;CPL&lt;/code&gt; (für die [[Systemsteuerung]]), &lt;code&gt;OCX&lt;/code&gt; (für Bibliotheken mit [[ActiveX]]-Steuerelementen) oder auch &lt;code&gt;DRV&lt;/code&gt; (für [[Gerätetreiber|Treiber]]), sein.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Windows-[[Dateinamenserweiterung]] für solche Bibliotheken ist gewöhnlich &lt;code&gt;DLL&lt;/code&gt;. Zudem können es jedoch auch andere Dateiendungen, wie &lt;code&gt;CPL&lt;/code&gt; (für die [[Systemsteuerung]]), &lt;code&gt;OCX&lt;/code&gt; (für Bibliotheken mit [[ActiveX]]-Steuerelementen) oder auch &lt;code&gt;DRV&lt;/code&gt; (für [[Gerätetreiber|Treiber]]), sein.</div></td> </tr> </table> 78.54.9.113 https://de.wikipedia.org/w/index.php?title=Dynamic_Link_Library&diff=251432046&oldid=prev 78.54.9.113: hier nun wohl auf das Wesentlichste gekürzt; Weiteres ggf. im Zieleintrag; wobei auf diese beiden Abkürzungen, ebenso wie auf die Vorgenannte mit NE, wohl auch verzichtet werden könnte; anschließend noch „Table“ [im zugehörigen Wikiwörterbuch-Eintrag gegenwärtig in der zweiten Bedeutung] einheitlicher in die dazu hier auch schon verwendte „Tabelle“ übersetzt 2024-12-21T08:18:53Z <p>hier nun wohl auf das Wesentlichste gekürzt; Weiteres ggf. im Zieleintrag; wobei auf diese beiden Abkürzungen, ebenso wie auf die Vorgenannte mit NE, wohl auch verzichtet werden könnte; anschließend noch „Table“ [im <a href="https://en.wiktionary.org/wiki/en:table" class="extiw" title="wiktionary:en:table">zugehörigen Wikiwörterbuch-Eintrag</a> gegenwärtig in der zweiten Bedeutung] einheitlicher in die dazu hier auch schon verwendte „Tabelle“ übersetzt</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. Dezember 2024, 10:18 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 27:</td> <td colspan="2" class="diff-lineno">Zeile 27:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Dynamic Link Library''' (aus dem [[Amerikanisches Englisch|Englischen]] entlehnt; kurz '''DLL''') bezeichnet allgemein eine [[Programmbibliothek#Dynamische Bibliotheken|dynamische Programmbibliothek]]; meist bezieht sich der Begriff jedoch auf die für die [[Betriebssystem]]e [[Microsoft Windows|Windows]] und [[OS/2]] verwendete Variante.&lt;ref&gt;{{Internetquelle |url=https://www.computerweekly.com/de/definition/Dynamic-Link-Library-DLL |titel=Was ist Dynamic Link Library (DLL)? - Definition von WhatIs.com |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/tipps-tricks/DLL-Datei-was-ist-das-4613457.html |titel=DLL-Datei - was ist das? |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Dynamic Link Library''' (aus dem [[Amerikanisches Englisch|Englischen]] entlehnt; kurz '''DLL''') bezeichnet allgemein eine [[Programmbibliothek#Dynamische Bibliotheken|dynamische Programmbibliothek]]; meist bezieht sich der Begriff jedoch auf die für die [[Betriebssystem]]e [[Microsoft Windows|Windows]] und [[OS/2]] verwendete Variante.&lt;ref&gt;{{Internetquelle |url=https://www.computerweekly.com/de/definition/Dynamic-Link-Library-DLL |titel=Was ist Dynamic Link Library (DLL)? - Definition von WhatIs.com |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/tipps-tricks/DLL-Datei-was-ist-das-4613457.html |titel=DLL-Datei - was ist das? |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>DLL-[[Datei]]en verwenden das auch für ausführbare [[EXE]]-Dateien gebräuchliche Dateiformat, das in 16-Bit-Programmen das [[New Executable|New-Executable]]-Format (NE),&lt;ref name="NE"&gt;K. B. Microsoft: [http://support.microsoft.com/kb/65122/de Executable-File Header Format]&lt;/ref&gt; in 16- und 32-Bit-Programmen das [[Linear Executable|Linear-Executable]]-Format (LE<del style="font-weight: bold; text-decoration: none;"> bzw. LX, OS</del>/<del style="font-weight: bold; text-decoration: none;">2</del>) sowie in 32- und 64-Bit-Programmen das [[Portable Executable|Portable-Executable]]-Format (PE, Windows) ist. Diese Dateien können Programmcode ([[Maschinensprache|Maschinencode]]), Daten und [[Ressource (Software)|Ressourcen]] in beliebiger Kombination enthalten.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>DLL-[[Datei]]en verwenden das auch für ausführbare [[EXE]]-Dateien gebräuchliche Dateiformat, das in 16-Bit-Programmen das [[New Executable|New-Executable]]-Format (NE),&lt;ref name="NE"&gt;K. B. Microsoft: [http://support.microsoft.com/kb/65122/de Executable-File Header Format]&lt;/ref&gt; in 16- und 32-Bit-Programmen das [[Linear Executable|Linear-Executable]]-Format (LE/<ins style="font-weight: bold; text-decoration: none;">LX</ins>) sowie in 32- und 64-Bit-Programmen das [[Portable Executable|Portable-Executable]]-Format (PE, Windows) ist. Diese Dateien können Programmcode ([[Maschinensprache|Maschinencode]]), Daten und [[Ressource (Software)|Ressourcen]] in beliebiger Kombination enthalten.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Windows-[[Dateinamenserweiterung]] für solche Bibliotheken ist gewöhnlich &lt;code&gt;DLL&lt;/code&gt;. Zudem können es jedoch auch andere Dateiendungen, wie &lt;code&gt;CPL&lt;/code&gt; (für die [[Systemsteuerung]]), &lt;code&gt;OCX&lt;/code&gt; (für Bibliotheken mit [[ActiveX]]-Steuerelementen) oder auch &lt;code&gt;DRV&lt;/code&gt; (für [[Gerätetreiber|Treiber]]), sein.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Windows-[[Dateinamenserweiterung]] für solche Bibliotheken ist gewöhnlich &lt;code&gt;DLL&lt;/code&gt;. Zudem können es jedoch auch andere Dateiendungen, wie &lt;code&gt;CPL&lt;/code&gt; (für die [[Systemsteuerung]]), &lt;code&gt;OCX&lt;/code&gt; (für Bibliotheken mit [[ActiveX]]-Steuerelementen) oder auch &lt;code&gt;DRV&lt;/code&gt; (für [[Gerätetreiber|Treiber]]), sein.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 51:</td> <td colspan="2" class="diff-lineno">Zeile 51:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Laden von DLLs bei einem Programmstart ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Laden von DLLs bei einem Programmstart ===</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Wenn ein Programm ausgeführt werden soll, dann wird es vom Loader des Betriebssystems in den Speicher geladen und die <del style="font-weight: bold; text-decoration: none;">[[</del>Import-<del style="font-weight: bold; text-decoration: none;">Table]]</del> des Programms ausgelesen. In dieser Tabelle befinden sich alle DLL-Befehls-Namen oder die Ordnungszahlen der DLL-Befehle, die von diesem Programm benötigt werden. Der Loader lädt nun die fehlenden DLLs in den Speicher und fügt in der ''Import-<del style="font-weight: bold; text-decoration: none;">Table</del>'' des Programms die Einsprungadressen der einzelnen Befehle ein.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Wenn ein Programm ausgeführt werden soll, dann wird es vom Loader des Betriebssystems in den Speicher geladen und die <ins style="font-weight: bold; text-decoration: none;">''</ins>Import-<ins style="font-weight: bold; text-decoration: none;">Tabelle''</ins> des Programms ausgelesen. In dieser Tabelle befinden sich alle DLL-Befehls-Namen oder die Ordnungszahlen der DLL-Befehle, die von diesem Programm benötigt werden. Der Loader lädt nun die fehlenden DLLs in den Speicher und fügt in der ''Import-<ins style="font-weight: bold; text-decoration: none;">Tabelle</ins>'' des Programms die Einsprungadressen der einzelnen Befehle ein.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== DLL-Datei-Aufbau ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== DLL-Datei-Aufbau ===</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Eine DLL hat (nach dem [[MZ-Datei|MZ-Header]]) denselben NE-, LE- oder PE-Header wie eine normale ausführbare Datei, nur ist im Falle einer NE der DWORD-Flag an der Adresse 0C&lt;sub&gt;hex&lt;/sub&gt; im NE-Header auf 8000&lt;sub&gt;hex&lt;/sub&gt; gesetzt (Library Module flag)&lt;ref name="NE" /&gt; beziehungsweise im PE-Header im ''Characteristics''-Wert das ''IMAGE_FILE_DLL''-Bit gesetzt. Während sowohl DLLs als auch ausführbare Dateien eine ''Export-<del style="font-weight: bold; text-decoration: none;">Table</del>'' besitzen können, wird dies bei letzteren selten benutzt. In dieser „Export-<del style="font-weight: bold; text-decoration: none;">Table“</del> sind alle Namen der Funktionen und Variablen aufgelistet, die die DLL an externe Software zur Verfügung stellt. Diese Namen müssen alphabetisch sortiert sein, damit der Loader sie finden kann.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Eine DLL hat (nach dem [[MZ-Datei|MZ-Header]]) denselben NE-, LE- oder PE-Header wie eine normale ausführbare Datei, nur ist im Falle einer NE der DWORD-Flag an der Adresse 0C&lt;sub&gt;hex&lt;/sub&gt; im NE-Header auf 8000&lt;sub&gt;hex&lt;/sub&gt; gesetzt (Library Module flag)&lt;ref name="NE" /&gt; beziehungsweise im PE-Header im ''Characteristics''-Wert das ''IMAGE_FILE_DLL''-Bit gesetzt. Während sowohl DLLs als auch ausführbare Dateien eine ''Export-<ins style="font-weight: bold; text-decoration: none;">Tabelle</ins>'' besitzen können, wird dies bei letzteren selten benutzt. In dieser „Export-<ins style="font-weight: bold; text-decoration: none;">Tabelle“</ins> sind alle Namen der Funktionen und Variablen aufgelistet, die die DLL an externe Software zur Verfügung stellt. Diese Namen müssen alphabetisch sortiert sein, damit der Loader sie finden kann.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Aufruf eines DLL-Befehles durch ein Programm ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Aufruf eines DLL-Befehles durch ein Programm ===</div></td> </tr> </table> 78.54.9.113 https://de.wikipedia.org/w/index.php?title=Dynamic_Link_Library&diff=249424513&oldid=prev Triomint69: Logo u. Alternativtext ergänzt 2024-10-14T16:46:04Z <p>Logo u. Alternativtext ergänzt</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 14. Oktober 2024, 18:46 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 24:</td> <td colspan="2" class="diff-lineno">Zeile 24:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Datei:Dll_icon.png | mini | rechts | alternativtext=Es zeigt zwei einfache geometrische Formen - ein großes und ein kleines Zahnrad. | Icon des Dateiformats DLL]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Dynamic Link Library''' (aus dem [[Amerikanisches Englisch|Englischen]] entlehnt; kurz '''DLL''') bezeichnet allgemein eine [[Programmbibliothek#Dynamische Bibliotheken|dynamische Programmbibliothek]]; meist bezieht sich der Begriff jedoch auf die für die [[Betriebssystem]]e [[Microsoft Windows|Windows]] und [[OS/2]] verwendete Variante.&lt;ref&gt;{{Internetquelle |url=https://www.computerweekly.com/de/definition/Dynamic-Link-Library-DLL |titel=Was ist Dynamic Link Library (DLL)? - Definition von WhatIs.com |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/tipps-tricks/DLL-Datei-was-ist-das-4613457.html |titel=DLL-Datei - was ist das? |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Dynamic Link Library''' (aus dem [[Amerikanisches Englisch|Englischen]] entlehnt; kurz '''DLL''') bezeichnet allgemein eine [[Programmbibliothek#Dynamische Bibliotheken|dynamische Programmbibliothek]]; meist bezieht sich der Begriff jedoch auf die für die [[Betriebssystem]]e [[Microsoft Windows|Windows]] und [[OS/2]] verwendete Variante.&lt;ref&gt;{{Internetquelle |url=https://www.computerweekly.com/de/definition/Dynamic-Link-Library-DLL |titel=Was ist Dynamic Link Library (DLL)? - Definition von WhatIs.com |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/tipps-tricks/DLL-Datei-was-ist-das-4613457.html |titel=DLL-Datei - was ist das? |sprache=de |abruf=2022-05-24}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> Triomint69 https://de.wikipedia.org/w/index.php?title=Dynamic_Link_Library&diff=243496535&oldid=prev 93.229.172.205: /* Weblinks */ ''What is so special about the instance handle 0x10000000?'' by Raymond Chen 2024-03-27T17:36:05Z <p><span class="autocomment">Weblinks: </span> &#039;&#039;What is so special about the instance handle 0x10000000?&#039;&#039; by Raymond Chen</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. März 2024, 19:36 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 287:</td> <td colspan="2" class="diff-lineno">Zeile 287:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* ''[http://www.functionx.com/visualc/libraries/win32dll.htm Win32 DLL]'' – Anleitung, wie man in C++ mit [[Visual Studio]] DLLs erstellen und aufrufen kann (englisch)</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* ''[http://www.functionx.com/visualc/libraries/win32dll.htm Win32 DLL]'' – Anleitung, wie man in C++ mit [[Visual Studio]] DLLs erstellen und aufrufen kann (englisch)</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [https://web.archive.org/web/20180330223101/http://www.adminzone.org/windows-libraries-i.php Durch Grafiken und Videos unterstützte Beschreibung der Windows Bibliotheken. Statische Libs und DLLs.]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [https://web.archive.org/web/20180330223101/http://www.adminzone.org/windows-libraries-i.php Durch Grafiken und Videos unterstützte Beschreibung der Windows Bibliotheken. Statische Libs und DLLs.]</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [https://devblogs.microsoft.com/oldnewthing/20121227-00/?p=5713 ''What is so special about the instance handle 0x10000000?'' by Raymond Chen] (englisch)</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Einzelnachweise ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Einzelnachweise ==</div></td> </tr> </table> 93.229.172.205