Ich möchte Clojure/Java-Bindungen für die EFL machen. JNA scheint eine Menge explizite Strukturzuordnung zu erfordern (Bridj macht dasselbe). JNI hat Gluegen, also dachte ich, das könnte einfacher sein.Fast-Track zu Clojure/Java Bindungen für die EFL
mit Gluegen gehen & das Grundmodul entscheiden, wäre ein guter Ort, um zu starten, ich lief:
java -jar /usr/share/java/gluegen2.jar -I. $ (Pkg-config elementaren --cflags) /usr/include/elementary-0/Elementary.h
... und schnell fand ich bräuchten eine Tonne Header erstellen Stubs dh> 29
Ich habe drei Fragen:
- Was ist die schnellste und einfachste Möglichkeit, Java-Bindungen für dieses Projekt zu generieren?
- Wenn Gluegen, gibt es ein Programm zum Erzeugen markanter Header-Stubs?
- Wenn JNA, gibt es ein Programm zum Generieren von ausgeprägten Pointer/Struct-Mappings?
Schnellnachverfolgung. Es scheint, dass ich mit Clojure-jna
user=> (use 'net.n01se.clojure-jna)
nil
user=> (jna-invoke Integer eina/eina_init)
1
user=> (jna-invoke String eina/eina_str_escape "They'll start going ripe on us pretty soon.")
"They\\'ll\\ start\\ going\\ ripe\\ on\\ us\\ pretty\\ soon."
user=> (vec (jna-invoke (class (into-array String [])) eina/eina_str_split "Calvin;Leoben;D'anna;Simon;Dora2;105Rl;Six;Daniel;Sharon" ";" 0))
["Calvin" "Leoben" "D'anna" "Simon" "Dora2" "105Rl" "Six" "Daniel" "Sharon"]
user=> (jna-invoke Integer eina/eina_shutdown)
0