Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di salvod
    Registrato dal
    Feb 2002
    Messaggi
    314

    [java] usare i metodi di una dll

    salve a tutti, io ho una dll installata sul sistema tramite la quale riesco ad interagire con una periferica....
    avrei bisogno da una classe java usare questa libreria.. ho cercato su internet esempi che fanno uso di JNI ma il procedimento e il modo in cui vengono richiamati i metodi della libreria(dll) non mi sono chiari..
    qualcuno potrebbe spiegarmi per sommi capi come funziona JNI?

    grazie
    cercasi siti con 1000 accessi al giorno di media per testing servizio di statistiche professionale... per info pvt me

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [java] usare i metodi di una dll

    Originariamente inviato da salvod
    salve a tutti, io ho una dll installata sul sistema tramite la quale riesco ad interagire con una periferica....
    avrei bisogno da una classe java usare questa libreria.. ho cercato su internet esempi che fanno uso di JNI ma il procedimento e il modo in cui vengono richiamati i metodi della libreria(dll) non mi sono chiari..
    qualcuno potrebbe spiegarmi per sommi capi come funziona JNI?
    JNI non è da intendere come un modo per poter chiamare direttamente qualunque funzione in qualunque libreria nativa.
    JNI è una interfaccia che consente di chiamare funzioni in librerie native che siano state realizzate secondo i criteri imposti da JNI. Le funzioni native devono cioè rispettare tutta una serie di convenzioni che riguardano i tipi di dato da usare, il nome e il prototipo della funzione come richiesto da JNI e altre cose.

    Esempio veloce:

    Prova.java
    codice:
    public class Prova
    {
        public static native int somma (int a, int b);
    
        static
        {
            System.loadLibrary ("sommalib");   // nome della libreria dinamica
        }
    }
    Compila con: javac Prova.java

    Quindi si deve generare il file di header con il comando:

    javah Prova

    che genera un file Prova.h

    Questo file di header andrà poi incluso nel sorgente per il progetto della DLL (da realizzare con un compilatore C/C++). Al suo interno ci sono, tra altre cose, i prototipi delle funzioni da implementare.

    Per altre info:
    http://java.sun.com/javase/6/docs/te...jni/index.html
    http://java.sun.com/developer/online...CBook/jni.html
    http://www.javaworld.com/javaworld/j...jw-10-jni.html
    http://www.mokabyte.it/2000/01/jni1.htm
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.