Aktuelle Zeit: 22.11.2019 16:59

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: PB-DLL-Funktion via JNI in Java aufrufen
BeitragVerfasst: 07.07.2013 12:23 
Offline

Registriert: 30.03.2013 11:57
Hallo,

Ich habe folgendes Problem:

Ich habe eine PB-DLL names "test.dll", welche ich zwar erfolgreich laden kann, jedoch die Funktion test() nicht aufrufen kann.
Dabei bekomme ich folgende Errormessage bei Eclipse:
"Exception in thread "main" java.lang.UnsatisfiedLinkError: Controller.test()I
at Controller.test(Native Method)
at Controller.main(Controller.java:12)"

Java Quellcode:
Code:
public class Controller
{
   static {System.loadLibrary("test");}
   
   public native int test();
   
   
   // Main()
   public static void main(String[] args) throws InterruptedException
   {
      Controller t = new Controller();
      System.out.println(t.test());
   }
   
   
   // Constructor()
   public Controller() throws InterruptedException
   {
      
   }

}



PureBasic Quellcode der DLL:
Code:
EnableExplicit

ProcedureDLL.i test()
 
  Protected.i a = 3
  Protected.i b = 5
  Protected.i c = #Null
 
  c = a+b
 
  ProcedureReturn c
 
EndProcedure




Ich habe oft gelesen, dass man irgendwie eine Header-Datei erstellen muss, da die DLL-Funktion bestimmten Konventionen genügen muss, nur ich habe nicht die leiseste Ahnung wie ich da vorgehen muss und passende Beispiele habe ich ebenfalls nicht gefunden.
Kann mir wer weiterhelfen?

Grüße
Toni


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PB-DLL-Funktion via JNI in Java aufrufen
BeitragVerfasst: 07.07.2013 23:35 
Offline

Registriert: 13.05.2006 14:51
Wohnort: Saarland
Hallo #Ton,
schau dir mal JNA an.

https://github.com/twall/jna

Damit kannst du eine native Dll die, die stdcall-Aufrufkonvention unterstützt einfach in dein Projekt mit
einbinden.Man braucht sich nicht einmal Gedanken um das Marshalling zu machen, da dies von der Lib
selbst erledigt wird.

Gruß
Nighthawk

_________________
PB4.51 x86 / Win7 64bit
Aktuelle Projekte : Irrlichtwrapper für PB und .NET


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PB-DLL-Funktion via JNI in Java aufrufen
BeitragVerfasst: 07.10.2019 23:32 
Offline
Benutzeravatar

Registriert: 22.12.2016 12:49
Wohnort: :D_üsseldorf-Wersten
Hallo #Ton,

Froggerprogger aus dem englischen Forum hat mir bei dem Problem geholfen:
problem calling a PB-DLL from Java

Gruß


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
cron

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye