/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Hvordan inkludere jeg en C dll?
Fra : cr


Dato : 17-06-01 19:31

Hej

Jeg har en C dll som jeg skal bruge i et java program som jeg er ved at
lave.

Men jeg kan ikke rigtigt få det til at virke. Jeg har læst lidt på JNI doc.
men her skriver de at man skal genere en header file og inkludere den i sin
DLL. Dette har jeg dog ikke mulighed for da det ikke er mig som har lavet
DLL'en.

Findes der andre muligheder?

Den dll som jeg skal bruge er et interface til en database. Dette interface
vil jeg gerne bruge i et java program (er bedre til java end til c derfor).





 
 
Lars Dam (18-06-2001)
Kommentar
Fra : Lars Dam


Dato : 18-06-01 20:20

On Sun, 17 Jun 2001 20:31:18 +0200, "cr" <rasmussenclaus@hotmail.com>
wrote:

>Hej
>
>Jeg har en C dll som jeg skal bruge i et java program som jeg er ved at
>lave.
>
>Men jeg kan ikke rigtigt få det til at virke. Jeg har læst lidt på JNI doc.
>men her skriver de at man skal genere en header file og inkludere den i sin
>DLL. Dette har jeg dog ikke mulighed for da det ikke er mig som har lavet
>DLL'en.
>
>Findes der andre muligheder?

Den nemmeste måde er at bruge javah, som du sikkert har stiftet
bekendtskab med i din JNI dokumentation.

Men da den dll som du skal bruge ikke har de nødvendige metode
signaturer, og du ikke kan lave den om, må du så lave en 'wrapper'
dll, som har java metode signaturer, og som så kalder videre til din
rigtige dll.

1) lav en java klasse med native kald beskrivelser for de metoder du
har brug for fra din dll.
2) lav en dll ud fra den .h fil du har fået fra javah
3) implementer funktionerne i din nye native dll, som kalder metoder i
den dll du skal bruge.

vupti.


vh. ld

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste