Вставьте DLL в Java - PullRequest
       20

Вставьте DLL в Java

2 голосов
/ 01 июня 2011

Кто-нибудь знает, возможно ли использовать Swig для генерации Java-интерфейса для DLL со связанными заголовками C?Есть много учебных пособий, описывающих, что делать, если у вас есть источник (http://www.swig.org/Doc1.3/Java.html).

1 Ответ

1 голос
/ 27 августа 2011

Вся информация в учебнике, на которую вы ссылаетесь, по-прежнему актуальна, даже если у вас есть только заголовочные файлы и DLL. Все, что вам нужно, это заголовки и библиотека для ссылки на него.

Тогда у вас есть два варианта. Либо вы можете сделать так, чтобы процесс сборки связывал сгенерированный SWIG-код с существующей DLL, либо вы можете использовать что-то вроде этого:

%pragma(java) jniclasscode=%{
  static {
    try {
        System.loadLibrary("mylibrarythatIonlyhaveaDLL");
        System.loadLibrary("swigmodule");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load. \n" + e);
      System.exit(1);
    }
  }
%}

в вашем файле интерфейса для принудительной загрузки DLL до создания интерфейса SWIG.

...