Main Content

mexFunction(C)

C Matrix API를 사용하여 빌드된 C/C++ MEX 함수에 대한 진입점

C 구문

#include "mex.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, 
  const mxArray *prhs[])

설명

참고

최신 C++ 기능과 C++용 MATLAB Data API를 사용하여 MEX 함수를 작성하려면 MATLAB에서 호출 가능한 C++ 함수 작성하기(MEX 파일) 항목을 참조하십시오.

mexFunction은 사용자가 호출하는 루틴이 아닙니다. 그보다 mexFunction은 모든 MEX 함수에 필요한 C의 게이트웨이 함수의 이름입니다. MEX 함수를 호출하면 MATLAB®은 동일한 이름의 해당 MEX 함수를 찾아 불러옵니다. 그런 다음 MATLAB은 MEX 함수 내에서 mexFunction이라는 이름의 기호를 검색합니다. 기호를 찾으면 mexFunction 기호의 주소를 사용하여 MEX 함수를 호출합니다. MATLAB은 MEX 함수 내에서 mexFunction이라는 이름의 루틴을 찾지 못하면 오류 메시지를 표시합니다.

MEX 함수를 호출하면 MATLAB은 자동으로 호출 인수와 함께 nlhs, plhs, nrhs, prhs의 시드값을 지정합니다. MATLAB 언어 구문에서 함수의 일반 형식은 다음과 같습니다.

[a,b,c,...] = fun(d,e,f,...)

여기서 ...은 동일한 형식의 항목이 더 있음을 나타냅니다. a,b,c...는 왼쪽 출력 인수이고, d,e,f...는 오른쪽 입력 인수입니다. 인수 nlhsnrhs에는 왼쪽 인수 개수와 오른쪽 인수 개수가 각각 들어 있습니다. prhsmxArray 포인터로 구성된 배열로, 길이가 nrhs입니다. plhs는 길이가 nlhs인 배열입니다. 여기서 함수는 출력값 mxArray에 대한 포인터를 설정해야 합니다.

참고

nlhs = 0이더라도 출력값을 반환할 수 있습니다. 이는 결과를 ans 변수로 반환하는 것에 해당합니다.

입력 인수 전달을 시험하려면 MEX 함수의 소스 코드 예제 표 항목의 지침에 따라 mexfunction.c 예제를 빌드하십시오.

입력 인수

모두 확장

필요한 mxArray 출력 인수 개수로, 정수로 지정됩니다.

필요한 mxArray 출력 인수에 대한 포인터로 구성된 배열

입력값 mxArrays의 개수로, 정수로 지정됩니다.

mxArray 입력 인수에 대한 포인터로 구성된 배열. MEX 파일의 어떠한 prhs 값도 수정하지 마십시오. 읽기 전용 mxArrays의 데이터를 변경하면 원치 않는 부작용이 발생할 수 있습니다.

예제

matlabroot/extern/examples/mex에서 다음 예제를 참조하십시오.

버전 내역

R2006a 이전에 개발됨