我正在尝试编写一个非常简单的mex文件,让我们试着尝试一下它的工作方式。我经历了很多材料和更多的阅读,更让我感到困惑。我需要这个来进一步编写一个与外部硬件交互的mex文件。请帮忙!
// header file - printing.h //
#include<iostream>
class printing
{
public:
void name();
void age();
};
// cpp file - printing.cpp //
#include<iostream>
#include "mex.h"
#include "matrix.h"
#include "printing.h"
#include <string>
using namespace std;
void mexFunction(int nlhs, mxArray*plhs[],
int nrhs, const mxArray *prhs[])
{
printing p1;
p1.name();
p1.age();
}
void printing::name()
{
cout << "NAME" << endl;
}
void printing::age()
{
cout << "20" << endl;
}
// .m文件 - test.m //
sprintf ('WELCOME')
printing()
当我运行test.m文件时,我想看看 欢迎 名称 20 但我认为只是欢迎。我知道我还没有更新plhs []数组。但我想要做的就是在mexFunction中执行一些操作。为什么不在name()和age()内部执行此操作?
另外,我如何确认执行name()和age()?
答案 0 :(得分:5)
对cout
的调用不会打印到MATLAB控制台,您需要使用MEX printf函数。
mexPrintf("NAME\n");