Ускоренный переход к привязкам Clojure/Java для EFL

Я хочу сделать привязку Clojure/Java для EFL. JNA, по-видимому, требует много явного сопоставления структур (Bridj делает то же самое). У JNI есть Gluegen, поэтому я подумал, что это может быть проще.

Перейдя к Gluegen и решив, что модуль Elementary будет хорошим местом для начала, я запустил:

java -jar /usr/share/java/gluegen2.jar -I. $(pkg-config elementary --cflags) /usr/include/elementary-0/Elementary.h

... и быстро обнаружил, что мне нужно создать массу заглушек заголовков, т.е.> 29

У меня три вопроса:

  1. Какой самый быстрый и простой способ создать привязки Java для этого проекта?
  2. Если Gluegen, есть ли программа для создания заметных заглушек заголовков?
  3. Если JNA, есть ли программа для создания заметных сопоставлений указателя/структуры?

Быстрое сопровождение. Похоже, что я могу делать некоторые вещи из коробки с помощью 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

person crinklywrappr    schedule 15.04.2012    source источник


Ответы (1)


JNAerator создаст для вас привязки как для JNA, так и для Bridj.

person technomage    schedule 17.04.2012