Выполнение системных вызовов из файлов MATLAB Mex - PullRequest
0 голосов
/ 17 января 2012

В самой MATLAB очень легко вызывать системные команды, такие как:

>> system('ls');
yprime.c    yprime.mexa64

(Примечание: использование Ubuntu)

Из программ на C (++),Я могу выполнять системные команды, используя std::system:

#include <cstdlib>
int main()
{
    std::system("ls");
}

Но как я могу выполнять системные команды из программ MATLAB Mex?

#include <cstdlib>
void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[])
{
    std::system("ls");
}

^^ Выше компилируется, но невыводить что-либо на экран при запуске.

1 Ответ

1 голос
/ 17 января 2012

Я думаю, вам стоит взглянуть на эту тему:

Оптимальное получение stdout из команды system ()

#include <stdio.h>

FILE *popen(const char *command, const char *type);

int pclose(FILE *stream);
...