Integration von Java in C-Anwendungen
Um die Funktionalität einer C-Anwendung zu erweitern, kann die Integration einer Java-Komponente wünschenswert sein. Obwohl dies mit Python erreicht wurde, scheint es keine klare Lösung für die Java-Integration gegeben zu haben.
JNI- und Java-Klassenverwendung von C
Java Native Interface (JNI) ist eine mögliche Lösung, setzt aber typischerweise ein vollständiges Java-Programm voraus, das Java-Klassen nutzt. In diesem Fall besteht das Ziel jedoch darin, Java-Klassen innerhalb der C-Anwendung zu verwenden.
Java-Code im laufenden Betrieb kompilieren und auswerten
Die gewünschte Funktionalität umfasst das Kompilieren und Ausführen von Java-Code während der Laufzeit (wie eine Skriptsprache) mithilfe von JNI oder einem ähnlichen Mechanismus.
Beispiel Java Code
import c4d.documents.*;
class Main {
public static void main() {
BaseDocument doc = GetActiveDocument();
BaseObject op = doc.GetActiveObject();
if (op != null) {
op.Remove();
}
}
}
Lösung: Eingebettete JVM
Die Lösung liegt in der Einbettung einer Java Virtual Machine (JVM) in die C-Anwendung. Das Nachschlagewerk von Oracle liefert die nötigen Informationen. Die wichtigsten Schritte umfassen:
Dies ermöglicht anspruchsvollere Vorgänge, wie z. B. benutzerdefinierte Klassenlader, und stellt die notwendige Integration von Java-Funktionen in die C-Anwendung bereit.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3