小编Lea*_*ner的帖子

在matlab中编写一个非常基本的mex函数

我试着写一个非常简单的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;

}
Run Code Online (Sandbox Code Playgroud)

// .m文件 - test.m //

sprintf ('WELCOME')
printing()
Run Code Online (Sandbox Code Playgroud)

当我运行test.m文件时,我希望看到欢迎名称20但是我看到只欢迎.我知道我还没有更新plhs []数组.但我想做的就是在mexFunction中执行一些操作.为什么name()和age()中的cout不能实现呢?

另外,我如何确认执行name()和age()?

c++ matlab mex

5
推荐指数
1
解决办法
245
查看次数

标签 统计

c++ ×1

matlab ×1

mex ×1