Как написать оболочку Java JNI для набора функций библиотеки Pascal? - PullRequest
2 голосов
/ 30 ноября 2010

Существует определенная библиотека, которую я хотел бы использовать из Java.

Сама библиотека написана на Pascal и скомпилирована в DLL. У меня есть доступ на чтение ко всему релевантному исходному коду (это бесплатный и открытый исходный код), но вряд ли я смогу повлиять на какие-либо предложения по изменению исходного кода библиотеки. У меня очень мало знаний или опыта по Паскалю. Сама библиотека в определенной степени имеет дело с передачей и возвращением структур в памяти. (Если бы это был C, функции брали бы и возвращали указатели структуры. Я, к сожалению, не знаю об эквивалентных именах в Паскале.)

Я хотел бы сделать обертку Java для этой библиотеки. Я хотел бы иметь возможность совершать звонки на эти функции. Я прочитал несколько учебников о родном интерфейсе Java. Что имеет смысл, так это как интерфейс этих функций. Что не имеет смысла для меня, так это то, как я должен иметь дело с этими структурами в памяти.

Я был бы очень признателен, если бы кто-нибудь помог мне разобраться, как это сделать, или указал бы мне на хороший ресурс для этого. То, что я до сих пор читал, в основном исключает или затуманивает то, что кажется наиболее важной частью того, что мне нужно, касаясь этих структур, которые у меня в памяти.

Спасибо всем.

1 Ответ

1 голос
/ 01 декабря 2010

Исходя из своего опыта, я бы избегал JNI (слишком сложный) и вместо этого использовал бы JNA.

...