Wie ausführbar Funktionen von DLLs genau findet? Ich weiß, dass DLL-Dateien Einstiegspunkte haben, aber wie findet die ausführbare Datei diese Einstiegspunkte mit Namen, da alles innerhalb einer DLL 1s und 0s ist?Wie ausführbar Funktionen aus DLL-Datei findet?
Antwort
Sie kompilieren für eine bestimmte LIB-Datei, und diese LIB-Datei stammt aus demselben Code, der zum Erstellen der DLL verwendet wird. Wenn Sie das mit genau den gleichen Einstellungen tun, werden die Einstiegspunkte beibehalten und das aufrufende Programm hat diese Einstiegspunkte direkt in den Code eingebaut. Deshalb kann das Kompilieren der DLL mit einer anderen Version von VStudio Dinge ruinieren: Die C-Laufzeitbibliothek und andere Details des späteren VStudio sind nicht identisch, so dass sowohl die DLL als auch die EXE unterschiedliche Eingangspunkte haben. Aber wenn Sie beide auf der gleichen Generation von Tech kompilieren, dann richten sie sich automatisch aus.
Nun, mir wurde immer gesagt, dass es Maschinenanweisungen wie ausführbare enthält. –
Nun ja, aber Sie haben im Grunde eine genaue schematische Darstellung, wo alles aus der .lib-Datei ist, wenn Sie Ihre exe machen, so dass es weiß, wo diese Dinge bereits sind. Dies ist der Grund, warum Sie nicht mit einer DLL kompilieren können, wenn Sie nicht die richtige .lib-Datei in derselben Compilergeneration erstellt haben. –
Also, wenn meine DLL Funktion CreateWindow hat würde es die Anweisungen zum Erstellen von Fenster oder nur den Namen der Funktion enthalten? –
- 1. Xcode 4.5 findet keine veralteten Funktionen
- 2. Wie findet man die Implementierung der CRUD-Repository-Funktionen?
- 3. 'express' ist nicht ausführbar
- 4. Kann nicht ausführbar GMSCoreResources.bundle
- 5. Kompilieren ausführbar von .pro
- 6. Visual Studio Code ausführbar
- 7. Alias zu git ausführbar
- 8. Matlab ausführbar zu langsam
- 9. Dateiformat von g ++ ausführbar
- 10. javafx8 Anwendung ausführbar
- 11. Biene ist nicht ausführbar
- 12. Python als Windows-Dienst ausführbar
- 13. Wie macht Pip ein Paket ausführbar?
- 14. Wie Ressourcen in Rust ausführbar einbetten?
- 15. Wie Pfad zu Datei für Python ausführbar
- 16. Wie man ein Ruby-Juwel ausführbar macht
- 17. Wie mache ich ein Python-Skript ausführbar?
- 18. Wie lange ist eine Zahlung ausführbar?
- 19. Quellcode aus Build ausblenden ausführbar in Electron-App
- 20. Funktionen aus den Funktionen aufrufen JS
- 21. SQL einen Wert aus einer Spalte findet
- 22. unique_ptr aus Funktionen zurückgeben
- 23. Startup-Zeiten von Matlab ausführbar
- 24. Build Linux ausführbar mit GCC
- 25. Kann nicht finden, SimpleCV ausführbar
- 26. /etc/init.d/nginx nicht ausführbar
- 27. OpenCVs findCirclesGrid findet kein Gitter aus Kreisen
- 28. Wie findet JUnit Tests?
- 29. Wie findet man das nächste Datum aus zwei Datenrahmen?
- 30. Wie findet man einen Grund, wenn mkdir aus PHP ausfällt?
Alles in allen Dateien ist nur 1s und 0s. –
http://stackoverflow.com/questions/124549/what-exactly-are-dll-files-and-how-do-theywork – Anil
DLL-Format ist das gleiche wie EXE so [lesen Sie hier] (https: // msdn.microsoft.com/en-us/library/windows/desktop/ms680547(v=vs.85).aspx) – mpiatek