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 :
Si je fait un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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]); }, j'obtiens une valeur complètement incohérente...
Code : Sélectionner tout - Visualiser dans une fenêtre à part mexPrintf("%d",*x);
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
Partager