IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

java byte[][] vs. C void**


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    lvr
    lvr est déconnecté
    Membre éclairé Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    919
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 919
    Par défaut java byte[][] vs. C void**
    Bonjour,

    Je développe un plugin d'effet audio au format VST (pour ceux qui connaissent).
    Comme je développe en java et que l'api VST en C, j'utilise le wrapper jVSTwRapper

    En C, l'api offre une méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    long MyPlug::getChunk (void** data, bool isPreset)
    jVSTwrapper offre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        public int getChunk(byte[][] data, boolean isPreset) {
    Je ne vois pas très bien comment utiliser ce byte[][] qui est une notion avec laquelle je ne suis pas familier en java.

    J'ai trouvé un exemple en C:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    static MyProjectData projectData = {1, 1, {0}};
    long MyPlug::getChunk (void** data, bool isPreset) 
    {
    *data = &projectData;
    return sizeof (MyProjectData);
    }
    Je voudrais retourner une chaîne de caractères et donc écrire quelque chose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public int getChunk(byte[][] data, boolean isPreset) {
        String chunk=FabricationDeMonChunk();
        data[???][???]???=chunk.getBytes();
        }
    Est-ce que quelqu'un peut m'aiguiller sur comment écrire l'équivalent en java avec le getChunk(byte[][] data, boolean isPreset) que j'ai ?

    Merci,

    Laurent

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    je suis pas sur de comprendre comment ton api fonctionne, mais byte[][] est un tableau de tableaux.

    ainsi data[0] est un tableau de bytes, data[0][0] est un byte.


    en C tu aurais exactement la meme notation:
    data[0] est un pointeur void* (donc assimilable a un tableau de byte)
    data[0][0] est la premier donnée pointée par le premier pointeur (assimilable à un byte)


    tu pourrais peut etre construire ton data comme çà en java?

    byte[][] datas = new byte[][]{ chunk1.getBytes(), chunk2.getBytes(), chunk3.getBytes()}

  3. #3
    lvr
    lvr est déconnecté
    Membre éclairé Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    919
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 919
    Par défaut
    Merci.
    C'est en effet le passage de void** à byte[][] que je ne comprends pas très bien. J'ai posé la question à l'auteur de l'api pour voir comment il faut l'utiliser.
    Pour le moment, j'ai écris comme tu suggères: data[0]=myString.getBytes()

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Java byte encodage
    Par drKzs dans le forum Général Java
    Réponses: 31
    Dernier message: 10/06/2011, 19h30
  2. Différence entre Java byte-code et MSIL
    Par medamin27 dans le forum Général Java
    Réponses: 0
    Dernier message: 10/06/2011, 01h14
  3. Comment representer byte[] en java ?
    Par Battosaiii dans le forum Langage
    Réponses: 4
    Dernier message: 05/02/2007, 18h39
  4. JAVA, applets, servlets et le byte code
    Par Alain Morin dans le forum Applets
    Réponses: 10
    Dernier message: 23/02/2006, 17h42
  5. java.awt.Image -> byte[]
    Par keil dans le forum 2D
    Réponses: 7
    Dernier message: 28/09/2005, 13h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo