[C] recuperer la variable d'une structure connaissant son nom

recuperer la variable d'une structure connaissant son nom [C] - C - Programmation

Marsh Posté le 07-10-2008 à 14:44:31    

Bonjour je bosse avec JNI sur un interfacage C/Java
 
J'ai des structures dans mon code C
par exemple

Code :
  1. typedef struct {
  2. int a;
  3. int b;
  4. } myStruct;


J'ai besoin de passer à java via JNI certaines valeurs de mes structures, ici, 'a' par exemple.
Comment faire ?
 
Je comptais faire un truc du genre :
creer la string "a" dans Java.
Faire mes bidouilles avec JNI pour passer en C.
recuperer la valeur de a, avec un truc du genre myStruct.xxxx
que mettre à la place de xxxx pour transformer "a" en la variable a, si vous voyez ce que je veux dire.
 
Ou bien avez-vous une autre idée ?

Reply

Marsh Posté le 07-10-2008 à 14:44:31   

Reply

Marsh Posté le 07-10-2008 à 17:09:48    

un infame switch sur le caractére passé en parametre.
C n'est pas tres doué en instrospection.

 
Code :
  1. typedef struct {
  2. int a;
  3. int b;
  4. } toto;
  5. int f( struct toto* s, char field )
  6. {
  7.    switch(field)
  8.    case 'a' : return s->a;
  9.    case 'b' : return s->b;
  10. }


Message édité par Joel F le 07-10-2008 à 17:10:06
Reply

Marsh Posté le 07-10-2008 à 19:03:18    

utilise un générateur de code (swig ?)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed