2009-07-09 8 views
3

Ich weiß, dass es besser ist, Python zu verwenden, um Posix und Win API aufzurufen, aber ich würde gerne wissen, ob es eine nicht so schmerzhafte Möglichkeit gibt, C-APIs von Groovy oder zumindest mit Java aufzurufen.Call C API von Groovy

Antwort

3

Die offizielle Weg, um die native Plattform (implizit, alle C/C++ - Code) von Java ist über JNI. Ich würde das nicht "nicht so schmerzhaft" nennen.

Du könntest versuchen, SWIG zu bekommen, um den meisten bösen Code für dich zu erzeugen, ich habe es ein paar Mal benutzt, um etwas von meinem eigenen C-Code mit etwas Erfolg einzuwickeln. Ich musste einen Teil meines Codes "behandeln", um das resultierende Java lesbar zu machen.

Eine Option, die ich gelesen habe, aber nie persönlich verwendet, ist JNA. Es sieht weniger nach Arbeit als JNI aus, aber ich kann nicht dafür bürgen.

Diese Lösungen sind alle Java-zentriert, aber ich sehe nicht, warum Sie sie dann nicht in einer von JVM gehosteten Sprache verwenden könnten.

0

Wenn es sich um eine COM-Bibliothek handelt, die Sie anrufen möchten, dann ist Scriptom eine Groovy-Bibliothek, die den Zweck erfüllen könnte.