2008-11-29 8 views
2

Je compile certaines fonctions MATLAB dans une DLL C. Les fonctions mlf exportées renvoient une valeur booléenne indiquant si la fonction a réussi ou non. Lorsque la valeur de retour est false, je veux trouver les informations d'erreur. Je ne pouvais pas trouver un moyen de faire ça! (autre que la compilation et l'exportation de la fonction lasterror()).Erreurs DLL MATLAB "C"

Existe-t-il une interface C pour obtenir la dernière erreur générée par l'exécution de MATLAB?

+0

Avez-vous déjà trouvé une solution à ce problème? – rem7

+0

La seule solution que j'ai trouvée était de compiler et d'exporter une fonction qui retourne les résultats de la fonction "lasterr()". –

Répondre

2

D'accord, nous allons essayer ...

mexCallMATLABWithTrap (C et Fortran) - Appel de la fonction Matlab, fichier M-défini par l'utilisateur, ou MEX-file et erreur de saisie des informations

#include "mex.h" 

mxArray *mexCallMATLABWithTrap(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[], const char *functionName); 

et

mexEvalStringWithTrap (C et Fortran) - Exécuter commande dans l'espace de travail de Matlab appelant et l'erreur capture les informations

#include "mex.h" 

mxArray *mexEvalStringWithTrap(const char *command); 

Ces deux choses ont été trouvées avec Google et une estimation ou deux. Désolé si c'est une perte de temps.

+0

Merci beaucoup. Mais les fonctions MEX fonctionneraient-elles dans la DLL? –