mexPrintf消息没有在matlab命令窗口中显示

时间:2017-07-16 20:49:15

标签: c++ c matlab mex

我开始在matlab上使用mex来构建一个c代码,我开始编写一个非常简单的代码(main.c):

#include "stdio.h"
#include "stdlib.h"
#include "mex.h"

void main()
{
    mexPrintf("Hello world");
}

当我在matlab脚本中键入mex main.c时,一切顺利,我收到了这条消息:"使用' gcc'。 MEX成功完成。"但是我没有看到消息" Hello world",我试过printf()也没有成功,有没有人知道为什么消息没有出现在matlab窗口上?

提前感谢您的帮助。

-J

1 个答案:

答案 0 :(得分:1)

您的代码目前与Matlab不兼容。 Matlab需要一个特殊的函数定义,用于' main'编译程序的功能。

为了运行您的代码,您需要具有以下内容:

#include "stdio.h"
#include "stdlib.h"
#include "mex.h"

void mexFunction( int nlhs, mxArray *plhs[],
          int nrhs, const mxArray*prhs[] )
{
    mexPrintf("Hello world\n");
}

假设将其放在名为“helloWorld.c”的文件中,您可以在Matlab提示符下运行以下命令:

mex helloWorld.c
helloWorld