Main Content

mexFunction(Fortran)

Fortran MEX 함수에 대한 진입점

Fortran 구문

#include "fintrf.h"
subroutine mexFunction(nlhs, plhs, nrhs, prhs)
integer nlhs, nrhs
mwPointer plhs(*), prhs(*)

인수

nlhs

필요한 출력값 mxArray의 개수

plhs

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

nrhs

입력값 mxArray의 개수

prhs

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

설명

mexFunction은 사용자가 호출하는 루틴이 아닙니다. 그보다 mexFunction은 모든 MEX 함수에 필요한 Fortran의 게이트웨이 서브루틴의 이름입니다. 자세한 내용은 Components of Fortran MEX File 항목을 참조하십시오. 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 변수로 반환하는 것에 해당합니다.

예제

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

버전 내역

R2006a 이전에 개발됨