Dynamic Shared Libraries (DSLs), auch als Shared Libraries oder Shared Objects bekannt, bieten die Möglichkeit, Code in wiederverwendbare Module zu unterteilen C-Programmierung. Dies ermöglicht die gemeinsame Nutzung von Code zwischen mehreren Programmen, reduziert die Codeduplizierung und ermöglicht eine einfachere Wartung.
Erstellen einer gemeinsam genutzten Klassenbibliothek
In C umfasst das Erstellen einer gemeinsam genutzten Klassenbibliothek Definieren einer Header-Datei (.h) und einer Quelldatei (.cc) für die Klassenimplementierung. Die Header-Datei sollte die Klassenschnittstelle deklarieren, während die Quelldatei die Implementierung bereitstellt. So erstellen Sie eine gemeinsam genutzte Bibliothek mit diesen Dateien:
#include "myclass.h"</p> <h1>include <iostream></h1> <p>using namespace std;</p> <p>MyClass::MyClass()<br>{<br> x = 20;<br>}</p> <p>void MyClass::DoSomething()<br>{<br> cout << x << endl;<br>}
Externe Verknüpfung
Mithilfe von Symbolen, denen das externe „C“ vorangestellt ist, weist die externe Verknüpfung den Compiler an, Funktionen verfügbar zu machen zur Außenwelt. Dies ist erforderlich, wenn Funktionen aus der gemeinsam genutzten Bibliothek in anderen Programmen aufgerufen werden.
Verwenden der gemeinsam genutzten Bibliothek
Um die gemeinsam genutzte Klassenbibliothek in einer separaten ausführbaren Datei zu nutzen, befolgen Sie diese Schritte :
Beispiel Verwendung
Der folgende Codeausschnitt veranschaulicht die Verwendung einer gemeinsam genutzten Klassenbibliothek:
#include <dlfcn.h></p> <h1>include < iostream></h1> <h1>include "myclass.h"</h1> <p>using namespace std;</p> <p>int main(int argc, char **argv) {<br> MyClass<em> myClass = (MyClass</em>)create( );<br> myClass->DoSomething();<br> destroy( myClass );<br>}
Kompilierung
Für Mac OS X:
g++ -dynamiclib -flat_namespace myclass.cc -o myclass.so g++ class_user.cc -o class_user
Für Linux:
g++ -fPIC -shared myclass.cc -o myclass.so g++ class_user.cc -ldl -o class_user
Durch die Verwendung gemeinsam genutzter Bibliotheken können Entwickler die Wiederverwendbarkeit, Wartung und Skalierbarkeit ihres Codes in der C-Programmierung verbessern. Dynamische Verknüpfung ermöglicht die gemeinsame Nutzung von Code zwischen Programmen, optimiert die Speichernutzung und verbessert die Gesamtleistung von Softwaresystemen.
Das obige ist der detaillierte Inhalt vonWie erstelle und verwende ich eine dynamische C-Shared-Bibliothek unter Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!