Main Content

MATLAB과 외부 프로그래밍 언어 및 시스템 통합하기

MATLAB®은 다른 프로그래밍 언어와의 유연한 양방향 통합을 제공하므로, 사용자는 레거시 코드를 재사용할 수 있습니다. 프로그래밍 언어 및 지원 버전 목록은 MATLAB Supported Interfaces to Other Languages를 참조하십시오.

MATLAB에서 C/C++ 코드 호출하기

MATLAB은 C/C++ 알고리즘을 MATLAB 애플리케이션에 통합할 수 있도록 다음과 같은 기능을 제공합니다.

  • C/C++ 공유 라이브러리 인터페이스는 런타임에 애플리케이션이 동적으로 불러오는 함수 모음입니다. 공유 라이브러리를 사용하는 경우, 여러 라이브러리 함수를 하나의 인터페이스로 패키징할 수 있다는 장점이 있습니다. 또한 MATLAB은 데이터형 변환을 관리합니다.

    • C++ 라이브러리 함수 호출 - C++ 공유 라이브러리의 함수를 호출하려면 MATLAB에서 C++ 호출하기에서 설명한 clib 네임스페이스를 사용하십시오.

    • 가능하면 C 전용 인터페이스보다 C++ 인터페이스를 선택하십시오. C++ 지원에 대한 자세한 내용은 이 제한 사항을 참조하십시오.

    • C 공유 라이브러리의 함수를 호출하려면 calllib 함수를 사용하십시오. 자세한 내용은 MATLAB에서 C 호출하기 항목을 참조하십시오. 이 기능은 C 전용 라이브러리에 가장 적합하지만 몇 가지 제한 사항이 있습니다.

    데이터 변환과 메모리 관리를 보다 세부적으로 제어하려면 MEX 파일을 작성해 보십시오.

  • MEX 파일은 MATLAB 데이터형을 C 데이터형으로 변환하는 C/C++ 알고리즘을 감싸는 래퍼 코드입니다. MEX 파일은 MATLAB 공유 라이브러리 인터페이스를 통해 함수를 호출하는 방법보다 뛰어난 성능을 제공합니다. 또한 MEX 파일을 사용하면 데이터 변환과 메모리 관리를 프로그래밍 방식으로 보다 세부적으로 제어할 수 있습니다.

    • MATLAB에서 호출 가능한 C++ 함수 작성하기(MEX 파일)은 최신 C++ 프로그래밍 기능과, 공유된 데이터 복사본(가능한 경우)을 사용합니다.

    • MATLAB에서 호출 가능한 C 함수 작성하기(MEX 파일)C Matrix API를 사용하고 기존 MEX 함수에서 지원됩니다. MathWorks®는 가능하면 C MEX 파일 애플리케이션보다 C++ MEX 파일 응용프로그램을 선택하는 것을 권장합니다. 그러나 MATLAB R2017b 이하 버전에서 MEX 함수를 실행해야 하는 경우에는 C 행렬 라이브러리를 사용하여 MEX 함수를 작성하십시오.

    • 라이브러리에 여러 개의 함수가 있거나 성능 문제가 없는 경우 C++ 라이브러리 인터페이스를 작성해 보십시오.

이러한 기능을 사용하려면 라이브러리 인터페이스를 생성하거나 MEX 함수를 작성할 수 있는 C/C++ 프로그래밍 기술이 필요합니다. 그러나 결과로 얻게 되는 라이브러리 또는 MEX 함수는 모든 MATLAB 사용자에게 제공할 수 있습니다. 최종 사용자는 C/C++ 언어 구현에 관한 근본적 세부 정보를 이해하지 못해도 다른 MATLAB 함수처럼 기능을 호출할 수 있습니다.

C/C++ 언어 프로그램에서 MATLAB을 호출하려면 C++에서 MATLAB 호출하기 또는 C에서 MATLAB 호출하기 항목을 참조하십시오.

MATLAB에서 다른 프로그래밍 언어의 객체 사용하기

다른 프로그래밍 언어의 함수 및 객체가 있는 경우, MATLAB에서 이러한 함수와 객체를 호출할 수 있습니다. 소프트웨어 개발자가 아니더라도 이러한 객체를 MATLAB 애플리케이션에 통합할 수 있습니다. 그러나 라이브러리에 대한 타사 문서에 접근할 수 있어야 합니다.

MATLAB은 다음 언어의 함수 호출 및 객체 사용을 지원합니다.

다른 프로그래밍 언어에서 MATLAB 호출하기

엔진 애플리케이션을 사용하여 다른 언어에서 MATLAB을 호출할 수 있습니다. MATLAB Engine API를 통해, 사용자 자신의 애플리케이션에서 MATLAB 함수를 호출하십시오. MATLAB은 다음 언어에 적합한 API를 제공합니다.

엔진 애플리케이션을 만들려면 MATLAB에서 지원하는 컴파일러를 설치한 후 mex 명령을 사용하여 애플리케이션을 빌드하십시오.

자신만의 고유한 함수를 MATLAB 함수로 호출하기

MEX API를 사용하여 자신만의 고유한 함수를 작성한 후 MATLAB 함수로 호출할 수 있습니다. 자세한 내용은 MEX 애플리케이션 선택하기 항목을 참조하십시오. MEX 함수를 작성할 수 있는 언어는 다음과 같습니다.

MEX 파일을 생성하려면 MATLAB에서 지원하는 컴파일러를 설치한 후 mex 명령을 사용하여 함수를 빌드하십시오.

웹 서비스와 통신하기

MATLAB에서 웹 서비스와 통신할 수 있습니다.

  • MATLAB RESTful 웹 서비스 함수는 프로그래머가 아닌 사용자가 HTTP GET 메서드와 POST 메서드를 사용하여 여러 웹 서비스에 액세스할 수 있게 해 줍니다.

  • RESTful 웹 서비스 함수에서 지원하지 않는 기능의 경우, HTTP 인터페이스 클래스를 사용하여 사용자 지정 웹 액세스 애플리케이션을 작성하십시오.

  • 웹 서비스가 WSDL(웹 서비스 기술 언어) 문서 기술을 기반으로 하는 경우에는 MATLAB WSDL 함수를 사용하십시오.

관련 항목