argument d'entrée Integer
Bonjour,
je commence tout juste à utiliser mex pour pouvoir utiliser du code C dans Matlab. Je pense avoir cerné les rouages de base mais j'ai un petit problème.
Je n'arrive pas à transmettre un Integer en argument d'entrée. J'ai cru comprendre que la fonction mxGetPr sert à récupérer un pointeur lié à une variable de type double, et que par conséquent, pour un Integer, il faut que j'utilise mxGetData. Cependant je n'arrive pas à récupérer la valeur de cet entier...
Voici la façon dont je m'y prend :
Code:
1 2 3 4 5 6 7
| #include "mex.h"
void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] )
{
int *x;
x = mxGetData(prhs[0]);
} |
Si je fait un
Code:
mexPrintf("%d",*x);
, j'obtiens une valeur complètement incohérente...
Sauriez-vous me dire ce qui ne fonctionne pas dans mon code et comment le corriger?
Je précise que j'arrive à le faire avec un double et la fonction mxGetPr.
Je vous remercie d'avance!
Romain