Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [Java] Interagire con libreria C

    Salve
    avrei una domanda su JNI (Java Native Interface).
    Sono riuscito a creare,compilare ed eseguire con successo un "HelloWorld" utilizzando una classe java e una libreria dinamica scritta in C.

    Ora ho un problema un attimo più complesso. Sto leggendo il manuale JNI che ho trovato sul sito della Sun (il PDF da 318 pagine), e mi pare di aver capito come trattare il passaggio dei parametri nel caso dei tipi primitivi (int,char ...) e anche nel caso delle stringhe.

    Quello che mi chiedo ora... devo rendere accessibile da JAVA una libreria C con funzioni che richiedono come parametri delle variabili strutturate definite dal programmatore della libreria C).

    Ora ... ammettendo di riprodurre in qualche modo la struttura dati anche in java (con un oggetto direi), come diavolo faccio a passarlo alla funzione c?

    Esempio:
    Ho una libreria C con queste definizioni (ho inventato tutto ... però la complessità è quella)
    codice:
    struct MyStr{
    char stringa1[5];
    char stringa2[5];
    }
    
    struct MyData{
    char stringa[10];
    long numero;
    struct MyStr * Struttura
    }
    
    int MyFunc (struct MyData * MyDataHandle,char carattere);
    Al di là delle modifiche che devo fare alla libreria per poter utilizzare JNI (cambiando anche le funzioni C come richiesto da JNI), come posso passare da Java questi oggetti (ammettendo ovviamente che io in Java abbia definiti degli oggetti con struttura dati simile)?

  2. #2
    Non vorrei cantar vittoria troppo presto ma *MI SEMBRA* che la risposta sia il capitolo 9 di questo

    Se ho capito bene cos'è un wrapper ...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.