| |

Visual-Basic EinsteigerRe: Flag Header statisch | |  | Autor: VBStein | Datum: 20.10.08 18:53 |
| Hai,
eine statische DLL ist mit einer dynamischen DLL gleich.
Der Unterschied mW ist nur der, wie der Linker mit den Bibliotheksfunktionen umgeht. Vielleicht
wird bei der Erstellung einer statischen DLL eine etwas andere Lib erzeugt (das weiß ich aber
nicht mehr so genau, ist schon eine weile her, die Grundlagen .... wobei das aber ganz bestimmt so sein wird, dass es unterschiede in der Lib-Datei geben wird). Diese wird aber von jedem Compiler, der in der Lage ist DLL's zu erzeugen, nach Vorlage einer Make-File erstellt.
Wird die DLL dynamisch gelinkt, erfolgt nur eine Forward-Deklaration der importierten Funktion im PE-File. Diese Imports kann man auslesen. Dieses Programm lädt dann später die benötigte DLL nach (sie wird aber nur 1 Mal geladen!!!). Plus dann die benötigte Functionspointers.
Wird die DLL statisch gelinkt, wird der DLL Code in das aufrufende Programm direkt übernommen und die Deklaration der importierten Funktionen im PE findet nicht statt. Dieses Programm benötigt die DLL nachher nicht mehr, weil davon unabhängig, dafür aber größer im Umfang wurde. Typische Beispiele sind MFC-Programme deren Programmierer die MFC-Bibliotheken nicht mitliefern wollen - sie sind immer "SEHR!!!" groß, mit viel unnötigem Ballast, ähnlich .NET Programmen.
Als C/C++ Programmierer kannst Du genauer eine komplette DLL "einverleiben", wenn alle Funktionen statisch gelinkt worden sind.
Ob Du mit VB eine DLL statisch linken kannst? Klare Antwort: Nö!
Ergebnis: Du musst nach den Lib-Files der DLL suchen - vielleicht gibt es hier Unterschiede (ich glaube schon ...)
Der Sinn einer DLL ist es: Einem breiten Spektrum von Programmen als Funktionslieferant zur Verfügung zu stehen und die Tatsache zu nützen: Trotz vielfachem Wunsch nur einmal im Speicher präsent sein zu müssen. Vielleicht gibt es hier ein Unterscheidungsmerkmal dahingehend, dass eine DLL die sich dynamisch nennt sehr viel um Threadsynchronisation kümmern muss, sowie wiedereintretbare Funktionen verwendet. Programmiertechnisch eigentlich Meisterleistungen sind. Nun statisch werden Leute eine DLL linken, die sich gerne Funktionalität ins Proggie holen, um das Rad nicht zweimal erfinden zu müssen. Das riecht etwas muffig - ist aber
durchaus legitim.
Beitrag wurde zuletzt am 20.10.08 um 19:14:38 editiert. |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
Neu! sevCoolbar 3.0 
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|