이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

C++ MEX 응용 프로그램

최신 C++에서 구현되는 고성능 MATLAB® 함수 생성

C++ MEX API를 사용하여 MATLAB 함수를 생성함으로써 C++ 프로그램의 효율성을 제공하고 MATLAB에서 외부 함수와 라이브러리에 액세스할 수 있습니다. C++ MEX API는 다음과 같은 기능을 제공합니다.

  • 최신 C++ 프로그래밍 기능과 객체 지향 설계를 사용합니다.

  • MEX 함수에서 MATLAB 함수를 호출합니다.

  • MATLAB에 매끄럽게 통합되어 MATLAB에서 입력값을 가져오고 결과를 반환합니다.

  • MATLAB 데이터형과 쓰기 시 복사(copy-on-write) 의미 체계를 지원합니다.

  • 스레드로부터 안전한 멀티스레드 MEX 함수를 작성합니다.

  • C++ MEX 함수를 out-of-process로 실행합니다.

참고

MATLAB C++ API의 함수들은 MATLAB Data API에 정의된 matlab::data::Array 클래스를 사용합니다. MEX 함수가 MATLAB R2017b 이하 버전에서 실행되어야 하거나 사용자가 C 언어로 작업하는 것을 선호하는 경우 mxArray 데이터 구조와 호환되는 C Matrix API를 대신 사용하십시오. 자세한 내용은 C에서 MATLAB 호출하기 항목을 참조하십시오.

C++ 클래스

matlab::mex::FunctionBase class for C++ MEX functions
matlab::mex::ArgumentListContainer for inputs and outputs from C++ MEX functions

Out of Process 실행

mexhostCreate host process for C++ MEX function
fevalEvaluate C++ MEX function in MEX host process
matlab.mex.MexHostOut-of-process host for C++ MEX function execution

도움말 항목

C++ MEX 함수 생성 시작하기

C++ MEX 함수

MEX 파일은 C++로 작성된 MATLAB 함수를 구현합니다.

Create a C++ MEX Source File

Here is how to create a basic C++ MEX function.

MEX 파일 설정 및 빌드하기

Build C++ MEX Programs

Build MEX applications on different platforms.

Test Your Build Environment

Test your build environment with a predefined C++ MEX file.

C++ MEX API

Use C++11 features and the C++ Engine API to implement MEX functions.

C++ MEX 함수 설계

Structure of C++ MEX Function

Implement a class that overrides the function call operator () to create a functor object.

Avoid Copies of Arrays in MEX Functions

Techniques to avoid making copies of large arrays to reduce memory usage and improve execution speed.

Managing External Resources from MEX Functions

Customize the MexFunction class to better handle the resources used by your MEX function.

Handling Inputs and Outputs

Check the size and type of inputs and display error messages in MATLAB.

Displaying Output in MATLAB Command Window

MEX functions can display output in the MATLAB command window.

Making async Requests Using mexCallMATLAB

Behavior when calling back into MATLAB with an async request like matlab::engine::MATLABEngine::fevalAsync.

MEX 함수의 MATLAB 데이터형

Data Access in Typed, Cell, and Structure Arrays

Cell and structure arrays let you write to array contents without copying entire array.

Data Types for Passing MEX Function Data

Define the correct data types to pass data between MATLAB and MEX functions.

MATLAB 함수 호출하기

Call MATLAB Functions from MEX Functions

Call MATLAB functions, passing arguments from and returning arguments to a MEX function.

Catch Exceptions in MEX Function

Catch exceptions thrown in a MEX function.

Execute MATLAB Statements from MEX Function

Execute MATLAB statements to create variables in the caller's workspace.

별도의 스레드 및 프로세스

Call MATLAB from Separate Threads in MEX Function

MEX functions can call MATLAB from user-created threads using the C++ Engine asynchronous API.

Out-of-Process Execution of C++ MEX Functions

Execute C++ MEX functions in processes that are separate from the MATLAB process.

MATLAB 변수에 액세스하기

Set and Get MATLAB Variables from MEX

Put variables into or get variables from the MATLAB base and global workspaces.

MATLAB Objects in MEX Functions

Pass MATLAB objects to MEX functions.