Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ mexPrintf消息不';在matlab命令窗口上显示_C++_C_Matlab_Mex - Fatal编程技术网

C++ mexPrintf消息不';在matlab命令窗口上显示

C++ mexPrintf消息不';在matlab命令窗口上显示,c++,c,matlab,mex,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上使用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

目前,您的代码与Matlab不兼容。Matlab需要为编译程序的“主”函数定义一个特殊的函数

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

#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

从您的问题听起来,您只是将代码编译成了一个MEX文件。你执行过MEX文件吗?谢谢你编辑我的代码@user4581301。是的,我执行了代码,但它不工作,实际上它需要一个mexFunction,它工作得很好。是的,你完全正确@acampb311,我的代码需要一个mexFunction,当我添加它时,它工作得很好,非常感谢!