Это точка входа для каждого файла mex:
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
На самом деле файлы mex - это файлы DLL Windows с функцией mexFunction в качестве основной функции. Мой вопрос: когда вызывается функция mex, как она может получить доступ к данным экземпляра Matlab изнутри mex. В качестве примера рассмотрим функцию mexPutVariable. Его задача - «скопировать массив изнутри MEX-функции в указанную рабочую область (вне mex)». Но откуда ему знать, где «рабочее место». В mex не был передан параметр (например, указатель), содержащий данные экземпляра Matlab (вызывающий объект). Файлы mex знают только nlhs, plhs, nrhs, prhs, и ни один из них не может помочь файлам mex извлекать данные, специфичные для экземпляра Matlab (информация о функциях вызывающего абонента).