Frage

Ich bin sicher, dass dieses Problem gelöst ist, bevor und ich bin gespannt, wie ihre getan. Ich habe Code, in dem, wenn ausführen, ich den Inhalt eines Verzeichnisses und Last in Funktionalität scannen möchten.

Insbesondere ich mit einer Scripting-Engine arbeite, die ich Funktion aufruft, um hinzuzufügen Lage sein will. Ich möchte, dass die Core-Engine sehr begrenzte Funktionalität bereitzustellen. Der Benutzer sollte zusätzliche Funktionen durch 3rd-Party-Bibliotheken hinzufügen können, die ich der Motor und Last überprüfen möchten. Wie wird das gemacht?

War es hilfreich?

Lösung

Es hängt von der Plattform. Auf win32, rufen Sie LoadLibrary eine DLL zu laden, dann Funktionen von ihm mit GetProcAddress bekommen. Auf Unixy Plattformen sind die Äquivalente dlopen und dlsym.

Andere Tipps

Sie können die POSIX verwenden dlopen / dlsym / dlerror / dlclose Funktionen in Linux / UNIX dynamisch gemeinsam genutzten Bibliotheken öffnen und Zugriff auf die Symbole (einschließlich Funktionen) sie bieten, finden Sie in der Manpage .

Wenn Sie eine Bibliothek für diese verwenden möchten, würde ich GLib (das Dienstprogramm-Bibliothek, die unter dem GTK + UI-Toolkit liegt) empfehlen. Es verfügt über die " GModule " Unter API, die dies zu tun, eine saubere, tragbare Art und Weise zur Verfügung stellt. Dies erspart Ihnen, die entsprechenden Anrufe selbst zu wickeln, und bringt Sie auch den Rest GLib das ist sehr praktisch in C-Programmen jeder Größe zu haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top