How can I call M fuctions in different thread in mex coding matlab and C++?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
ian gong
le 27 Juil 2021
Réponse apportée : Bruno Luong
le 27 Juil 2021
Matlab 2019b
I tried to use mexCallMATLAB in the new thread, but failed.
is there any other way to realize that calling M functions in different thread in mex coding matlab and C++?
the following is my code,hello() is a M function:
#include "mex.h"
#include <thread>
#include <stdio.h>
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
std::thread t(mexCallMATLAB(nlhs,(mxArray**)(&plhs[0]),nrhs,(mxArray**)(&prhs[0]),"hello"));
t.join();
}
0 commentaires
Réponse acceptée
Bruno Luong
le 27 Juil 2021
No you cannot. MATLAB will crash since many MATLAB functions are not thread safe.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Write C Functions Callable from MATLAB (MEX Files) dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!