J'ai une structure comme celui-ci dans C:Comment accéder aux membres de syndicats imbriqués en utilisant SWIG?
struct print_arg {
struct print_arg *next;
enum print_arg_type type;
union {
struct print_arg_atom atom;
struct print_arg_field field;
struct print_arg_typecast typecast;
struct print_arg_flags flags;
struct print_arg_symbol symbol;
struct print_arg_func func;
struct print_arg_string string;
struct print_arg_op op;
struct print_arg_dynarray dynarray;
};
};
J'utilise swig
pour exporter un python
reliures. En fait, le swing ne supporte pas les syndicats comme celui-ci imbriquées, mais avec une déclaration variable, il est ok:
union {
struct print_arg_atom atom;
struct print_arg_field field;
...
} value;
Cette solution ne fait pas fits pour moi parce qu'il brise beaucoup de code C en utilisant cette structure (vous changez la moyen d'accéder aux membres du syndicat).
je pense à deux possibilités:
Ajouter la déclaration de variable
value
, donc le problème rasade est résolu mais je besoin d'un moyen d'accéder à des membres du syndicat directement en C (pour ne pas casser beaucoup de fonctions). Connaissez-vous un ou plusieurs?Trouver un autre moyen dans swig. Connaissez-vous un ou plusieurs?
Toute autre solution est la bienvenue!
Merci pour la réponse, celui-ci fonctionne pour moi. –