mexPrintf 消息未显示在 matlab 命令上 window

mexPrintf message doesn't show on matlab command window

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

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

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

当我在 matlab 脚本中键入 mex main.c 时,一切顺利,我收到此消息:"Building with 'gcc'. MEX completed successfully." 但我没有看到消息 "Hello world",我尝试了 printf( ) 也没有成功,请问有人知道为什么消息没有出现在 matlab window 上吗?

在此先感谢您的帮助。

-J

您的代码目前与 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