Ich habe die Dokumentation für Linux-Aufrufe dlopen()
und dlsym()
gelesen, die eine dynamische Bibliothek öffnet und jeweils ein Symbol in der Bibliothek lädt.Was bedeutet "Windows unterstützt keine ordnungsgemäße dynamische Verknüpfung?"
scheinen Diese Anrufe entspricht Windows handelt LoadLibrary()
und GetProcAddress()
.
Ich lese "Windows unterstützt keine ordnungsgemäße dynamische Verknüpfung" in diesem Beitrag: Running LLVM passes on Windows 10 gives no output in terminal?.
Aus welchem Grund unterscheiden sich dynamische Linux- und Windows-Bibliotheksaufrufe?
Ist der einzige Unterschied, dass dynamische Bibliotheken unter Linux Symbole in ausführbaren Dateien laden können? Aber das würde bedeuten, dass ausführbare Dateien auch Bibliotheken unter Linux sind, da dlopen()
auf dynamischen Bibliotheken arbeitet.
Wissen Sie, warum Windows keine Exporttabellen für seine ausführbaren Dateien auswählt? – Shuzheng
Würdest du es verlinken wie das Plugin in C++ gemacht wird? – Shuzheng
Ich denke, Sie meinen "wo Sie eine Bibliothek gegen eine ausführbare Datei verknüpfen". – Shuzheng