Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

MATLAB에서 호출 가능한 C 함수 작성하기(MEX 파일)

mxArray를 사용하여 MATLAB® R2017b 이전 버전에서 호출 가능한 C 함수를 작성하여 MATLAB 변수에 액세스하고 MATLAB에 반환되는 배열 생성

직접 작성한 C 프로그램을 내장 함수인 것처럼 MATLAB 명령줄에서 호출할 수 있습니다. 이러한 프로그램을 MEX 함수라고 하며, 함수의 이름이 MEX 파일의 이름입니다. 일부 응용 프로그램에는 MEX 함수가 적합하지 않습니다. MATLAB은 컴파일된 언어에서 시간이 많이 소요되는 로우 레벨의 프로그래밍 작업을 줄여주는 생산성 높은 환경입니다. 일반적으로는 MATLAB에서 프로그래밍을 수행하십시오. 응용 프로그램에 필요한 경우가 아니면 MEX 함수를 사용하지 마십시오.

MEX 함수를 생성하려면 MATLAB API를 사용하여 프로그램을 작성하십시오. 이러한 라이브러리에 있는 함수를 사용하면 MEX 함수와 작업 공간 간에 데이터를 원활하게 전송할 수 있습니다. MATLAB API를 선택하려면 다음을 고려하십시오.

  • C++용 MATLAB Data API에 정의된 대로 최신 C++ 기능을 사용하여 MEX 함수를 만듭니다. 자세한 내용은 MATLAB에서 호출 가능한 C++ 함수 작성하기(MEX 파일) 항목을 참조하십시오.

  • MEX 함수가 MATLAB R2017b 이하 버전에서 실행되어야 하거나 사용자가 C 언어로 작업하는 것을 선호하는 경우 C Matrix API 및 C MEX API의 함수를 사용하십시오. 이러한 API는 MATLAB mxArray 데이터 구조를 사용합니다. 이 페이지에 나와 있는 함수와 항목은 mxArray를 기반으로 합니다.

참고

C Matrix API나 MATLAB Data API 중 하나에서 함수를 선택하십시오. 이러한 API의 함수는 혼합하여 사용할 수 없습니다.

mex 함수를 사용하여 소스 파일을 실행 가능한 프로그램으로 빌드하십시오. MEX 파일을 다른 MATLAB 사용자와 공유할 수도 있습니다.

S-Function을 작성하는 방법에 대한 자세한 내용은 Simulink® 문서를 참조하십시오.

다른 사람이 만든 MEX 함수를 호출하려면 MEX 함수 호출하기 항목을 참조하십시오.

C/C++ 프로그램이 있고 이 프로그램에서 MATLAB 함수를 호출하려면 Engine API 중 하나를 사용하십시오. 자세한 내용은 다음을 참조하십시오.

C 프로그램에서 MATLAB 데이터를 읽고 쓰려면 MAT 파일 데이터를 읽어오는 C 프로그램 작성하기 항목을 참조하십시오.

함수

mexMEX 함수 또는 엔진 애플리케이션 빌드
dbmexUNIX 플랫폼에서 MEX 파일 디버그 사용

C MEX API

mexFunctionC Matrix API를 사용하여 빌드된 C/C++ MEX 함수에 대한 진입점
mexFunctionNameName of current MEX function
mexAtExitRegister function to call when MEX function clears or MATLAB terminates
mexCallMATLABCall MATLAB function, user-defined function, or MEX function
mexCallMATLABWithTrapCall MATLAB function, user-defined function, or MEX file and capture error information
mexEvalStringExecute MATLAB command in caller workspace
mexEvalStringWithTrapExecute MATLAB command in caller workspace and capture error information
mexGetVariableCopy of variable from specified workspace
mexGetVariablePtrRead-only pointer to variable from another workspace
mexPutVariableArray from MEX function into specified workspace
mexGetValue of specified graphics property
mexSetSet value of specified graphics property
mexPrintfANSI C PRINTF 스타일 출력 루틴
mexErrMsgIdAndTxtDisplay error message with identifier and return to MATLAB prompt
mexWarnMsgIdAndTxtWarning message with identifier
mexIsLockedDetermine if MEX file is locked
mexLock메모리에서 MEX 파일 지우기를 방지
mexUnlockAllow clearing MEX file from memory
mexMakeArrayPersistentMake array persist after MEX file completes
mexMakeMemoryPersistentMake memory allocated by MATLAB persist after MEX function completes

도움말 항목

C MEX 함수 작성하기

C Matrix API 버전

MEX 파일 공유하기

문제 해결

빌드 오류

런타임 오류

디버그하기