私は非常に簡単なmexファイルを書こうとしています。私は多くの資料を読んだり、もっと読むと、もっと混乱します。私は外部ハードウェアとやりとりするmexファイルをさらに書くためにこれを必要とします。助けてください!非常に基本的なmex関数をmatlabに書く
// 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ファイルを実行すると、私は私だけ見ただし WELCOME NAME を見たいのですがようこそ。私はplhs []配列を更新していないことを理解しています。しかし、私がしたいことは、mexFunctionの中で何かを実行することです。名前()と年齢()の内部には何がありませんか?
また、name()とage()が実行されていることを確認するにはどうすればよいですか?
coutはシステムのコンソールにリンクされており、Matlabには「コマンドウィンドウ」と呼ばれる独自の「コンソール」があることに注意してください。これは、あなたのcout出力がMatlabで見られないことを意味します。 – patrik