Kapitel 5. Mit anderen nett spielen

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Die Zahl der Programmiersprachen nähert sich der Unendlichkeit, und ein großer Teil von ihnen hat eine C-Schnittstelle. Dieses kurze Kapitel enthält einige allgemeine Hinweise zu diesem Prozess und demonstriert im Detail die Schnittstelle zu einer Sprache, nämlich Python.

Jede Sprache hat ihre eigenen Gepflogenheiten für das Verpacken und Verteilen. Das bedeutet, dass du, nachdem du den Brückencode in C und der Hostsprache geschrieben hast, vor der Aufgabe stehst, das Verpackungssystem dazu zu bringen, alles zu kompilieren und zu linken. Das gibt mir die Gelegenheit, fortgeschrittenere Funktionen von Autotools vorzustellen, wie z. B. die bedingte Verarbeitung eines Unterverzeichnisses und das Hinzufügen von Installationshaken.

Dynamisches Laden

Bevor du dich in andere Sprachen stürzt, lohnt es sich, die C-Funktionen zu würdigen, die das alles möglich machen: dlopen und dlsym. Diese Funktionen öffnen eine dynamische Bibliothek und extrahieren ein Symbol, z. B. ein statisches Objekt oder eine Funktion, aus dieser Bibliothek.

Die Funktionen sind Teil des POSIX-Standards. Windows-Systeme haben einen ähnlichen Aufbau, aber die Funktionen heißen LoadLibrary und GetProcAddress; der Einfachheit halber bleibe ich bei den POSIX-Namen.

Der Name "Shared Object File" ist sehr aussagekräftig: Eine solche Datei enthält eine ...

Get 21st Century C, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.