2010-04-02 1 views
0

Je fonction suivante:WRAPP une fonction dont les paramètres sont hors pointeur de type à structure à l'aide rasade

typedef struct tagT{ 
int a ; 
int b ; 
}Point; 

int lib_a_f_5(Point *out_t) 
{ 

out_t->a = 20; 
out_t->b = 30; 

return 0; 
} 

Comment dois-je diriger le SWIG pour générer le code correct pour le rubis (ou Lua)? Lors de la mise déclaration suivante au fichier d'interface:

%apply SWIGTYPE Point* {Point *out_t}; 

J'ai reçu un avertissement:

liba.i:7: Warning(453): Can't apply (Point *OUTPUT). No typemaps are defined. 

Ai-je besoin d'écrire un typemap? Comment dois-je le faire?

Répondre

1

Aucune action particulière ne doit être effectuée dans le fichier d'interface. SWIG peut s'en occuper.

Lua 5.1.3 Copyright (C) 1994-2008 Lua.org, PUC-Rio 
> require 'mylib_swig' 
> t=mylib_swig.Point() 
> print(t.a) 
0 
> print(t.b) 
0 
> mylib_swig.lib_a_f_5(t) 
in lib_a_f_5 
> print(t.a) 
20 
> print(t.b) 
30 
> 
Questions connexes