Frage

Ich möchte Windows -APIs in Jruby verwenden. Bitte schlagen Sie jede API vor, die die Arbeit von CTypes (Python) erledigen kann.

War es hilfreich?

Lösung

Jruby enthält die FFI -API, die ursprünglich für Rubinius erstellt wurde, jetzt aber auch auf Jruby, Macruby, Maglev, Tinyrb, MRT und Yarv (die letzten beiden über das FFI -Edelstein) unterstützt wird.

Die FFI -API ist speziell entwickelt, um sie sehr einfach an C -Bibliotheken zu binden, ohne tatsächlich C schreiben zu müssen (alle Zuordnungen sind in einem deklarativen Ruby DSL geschrieben).

Daniel J. Berg, der Betreuer des Win32-API-Gems und alle anderen Win32-Bibliotheken, arbeitet derzeit daran, sie dazu zu bringen, auf Jruby zu laufen, indem er sie auf FFI portiert, aber er hat leider ein paar Straßensperren getroffen.

Andere Tipps

Sie können die Java JNA -API verwenden

Sehen Jruby trifft die Windows -API

http://blog.headius.com/2008/10/ffi-for-ruby-now-available.html

JRUBY hat eine Fremdfunktionsschnittstelle. Ich bin mir nicht sicher über den Stand der Windows -Unterstützung, aber es ist wahrscheinlich hinter der *Nix -Version zurückbleibt.

Alternativ können Sie Ihre eigenen Wrapper mit JNI und normalem Java schreiben und sie über JRUBY verwenden

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top