Main Content

matlab::mex::Function

C++ MEX 함수의 기본 클래스

설명

C++ MEX 함수에서 구현하는 MexFunction 클래스는 matlab.mex.Function 클래스에서 상속되어야 합니다. matlab.mex.Function 클래스는 C++ Engine API에 대한 액세스를 활성화하고, MexFunction 클래스가 재정의해야 하는 가상 operator() 함수를 정의합니다.

클래스 세부 정보

네임스페이스:

matlab::mex

포함:

mexAdapter.hppMexFunction 클래스 구현을 위해 이 파일을 한 번만 포함함

멤버 함수

operator()

virtual void operator()(ArgumentList outputs, ArgumentList inputs)

MexFunction 클래스에서 재정의해야 하는 함수 호출 연산자. 이 연산자는 MexFunction 클래스의 인스턴스를 함수처럼 호출되도록 합니다.

파라미터
matlab::mex::ArgumentList outputsMATLAB®으로 반환되는 matlab::data::Array 객체의 모음
matlab::mex::ArgumentList inputsMATLAB에서 MEX 함수로 전달되는 matlab::data::Array 객체의 모음
예제
class MexFunction : public matlab::mex::Function {
public:
    void operator()(matlab::mex::ArgumentList outputs, matlab::mex::ArgumentList inputs) {
        ...
    }
}

getEngine

std::shared_ptr<matlab::engine::MATLABEngine> getEngine()

C++ Engine API에 대한 액세스를 활성화하는 MATLABEngine 객체에 대한 포인터를 반환합니다.

반환되는 값

std::shared_ptr<matlab::engine::MATLABEngine>

MATLABEngine 객체에 대한 포인터

예제

MATLABclear 함수를 호출합니다.

std::shared_ptr<MATLABEngine> matlabPtr = getEngine();
matlabPtr->eval(matlab::engine::convertUTF8StringToUTF16String("clear"));

mexLock

void mexLock()

메모리에서 MEX 파일이 지워지지 않도록 방지합니다. 사용자 스레드에서 mexLock 또는 mexUnlock을 호출하지 마십시오.

예제

MEX 파일을 잠금니다.

mexLock();

mexUnlock

MEX 파일을 잠금 해제하고 메모리에서 이 파일이 지워지도록 허용합니다. 사용자 스레드에서 mexLock 또는 mexUnlock을 호출하지 마십시오.

void mexLock()
예제

MEX 파일을 잠금 해제합니다.

mexUnlock();

getFunctionName

std::u16string getFunctionName() const

소스 파일 이름인 MEX 함수의 이름을 반환합니다.

예제

현재 실행 중인 MEX 함수의 파일 이름을 가져옵니다.

std::u16string fileName = getFunctionName();

버전 내역

R2018a에 개발됨