Ich weiß, dass es besser ist, Python zu verwenden, um Posix und Win API aufzurufen, aber ich möchte wissen, ob es einen nicht so schmerzhaften Weg gibt, C APIs von Groovy aus aufzurufen, oder zumindest mit Java.
Antworten
Zu viele Anzeigen?Der offizielle Weg, die native Plattform (implizit alle C/C++-Codes) von Java aus aufzurufen, ist über JNI. Ich würde das nicht als "nicht so schmerzhaft" bezeichnen.
Sie könnten versuchen, SWIG zu verwenden, um den Großteil des unangenehmen Codes für Sie zu generieren - ich habe es ein paar Mal erfolgreich eingesetzt, um meinen eigenen C-Code zu umwickeln. Ich musste jedoch einigen meiner Codes "handle-izieren", um den resultierenden Java-Code lesbar zu machen.
Eine Option, von der ich gelesen habe, die ich aber nie persönlich genutzt habe, ist JNA. Es scheint weniger Aufwand zu sein als JNI, aber ich kann nicht dafür bürgen.
All diese Lösungen sind auf Java ausgerichtet, aber ich sehe keinen Grund, warum man sie nicht in jeder JVM-gehosteten Sprache verwenden könnte.