Main Content

MATLAB 함수로부터 독립 실행형 애플리케이션 만들기

이 예제는 MATLAB® Compiler™를 사용하여 MATLAB® 함수를 독립 실행형 애플리케이션에 패키징하는 방법을 보여줍니다. 타깃 시스템은 애플리케이션을 실행하기 위해 MATLAB Runtime만 설치하면 되며, 라이선스가 부여된 MATLAB 사본은 필요하지 않습니다.

지원되는 플랫폼: Windows®, Linux®, macOS

MATLAB에서 함수 만들기

명령 프롬프트에서 마방진 행렬을 출력하는 magicsquare라는 이름의 MATLAB 함수를 작성합니다. 함수를 magicsquare.m이라는 이름의 파일로 저장합니다.

function m = magicsquare(n) 
if ischar(n)
    n=str2double(n);
end
m = magic(n); 
disp(m)

명령 프롬프트에서 함수를 테스트합니다.

magicsquare(5)
17    24     1     8    15
23     5     7    14    16
 4     6    13    20    22
10    12    19    21     3
11    18    25     2     9

compiler.build.standaloneApplication을 사용하여 독립 실행형 애플리케이션 만들기

compiler.build.standaloneApplication 함수를 사용하여 MATLAB 함수로부터 독립 실행형 애플리케이션을 만듭니다.

appFile = "magicsquare.m";
buildResults = compiler.build.standaloneApplication(appFile);

compiler.build 명령에서 이름-값 인수를 사용하여 추가 옵션을 지정할 수 있습니다. 자세한 내용은 compiler.build.standaloneApplication 항목을 참조하십시오.

buildResults 객체에는 빌드 유형, 생성된 파일, 포함된 지원 패키지, 빌드 옵션에 대한 정보가 포함됩니다. 자세한 내용은 compiler.build.Results 항목을 참조하십시오.

이 함수는 현재 작업 디렉터리에 있는 magicsquarestandaloneApplication이라는 이름의 폴더 내에 다음 파일을 생성합니다.

  • includedSupportPackages.txt — 애플리케이션에 포함된 모든 지원 파일을 나열하는 텍스트 파일.

  • magicsquare.exe 또는 magicsquare — Windows 시스템에서 컴파일된 경우 .exe 확장자가 있는 실행 파일, Linux 또는 macOS 시스템에서 컴파일된 경우 확장자가 없는 실행 파일.

  • run_magicsquare.sh — 라이브러리 경로를 설정하고 애플리케이션을 실행하는 셸 스크립트 파일. 이 파일은 Linux 시스템과 macOS 시스템에서만 생성됩니다.

  • mccExcludedFiles.log — 애플리케이션에 포함되지 않은 툴박스 함수 목록이 포함되어 있는 로그 파일. 지원되지 않는 함수에 대한 자세한 내용은 Limitations 항목을 참조하십시오.

  • readme.txt — 배포 선행 조건 관련 정보와 배포를 위해 패키징할 파일 목록이 포함되어 있는 텍스트 파일.

  • requiredMCRProducts.txt — MATLAB Runtime에서 애플리케이션을 실행하는 데 필요한 제품의 제품 ID가 포함되어 있는 텍스트 파일.

  • unresolvedSymbols.txt — 연결이 맺어지지 않은 기호에 대한 정보가 포함되어 있는 텍스트 파일.

참고: 생성된 독립형 실행 파일은 MATLAB Runtime 또는 인스톨러를 포함하지 않습니다. buildResults 객체를 사용하여 인스톨러를 만들려면 compiler.package.installer를 사용하여 독립 실행형 애플리케이션 인스톨러 만들기 항목을 참조하십시오.

독립 실행형 애플리케이션 테스트하기

입력 인수 4를 사용하여 MATLAB 내에서 magicsquare를 실행하려면 MATLAB 데스크탑 환경 내에서 magicsquarestandaloneApplication 폴더로 이동하여 운영 체제에 따라 다음 명령 중 하나를 실행합니다.

Windows

!magicsquare 4

Linux

!./magicsquare 4

macOS

system(['./run_magicsquare.sh ',matlabroot,' 4']);

MATLAB 데스크탑 환경 외부에서 독립 실행형 애플리케이션을 실행하려면 독립 실행형 애플리케이션 실행하기 항목을 참조하십시오.

compiler.package.installer사용하여 독립 실행형 애플리케이션 인스톨러 만들기

buildResults 객체를 compiler.package.installer 함수에 대한 입력 인수로 사용하여 인스톨러를 만듭니다.

compiler.package.installer(buildResults);

이 함수는 독립 실행형 애플리케이션 인스톨러가 포함되어 있는 새 폴더를 생성합니다.

기본적으로 인스톨러는 웹에서 MATLAB Runtime을 다운로드하도록 구성되어 있습니다. 이름-값 인수를 사용하여 이를 수정하고 추가 옵션을 지정할 수 있습니다. 자세한 내용은 compiler.package.installer 항목을 참조하십시오.

예를 들어 인스톨러 이름을 지정하고 MATLAB Runtime을 인스톨러에 포함하려면 다음을 실행합니다.

compiler.package.installer(buildResults, ...
'InstallerName','MyMagic_Install','RuntimeDelivery','installer');

독립 실행형 애플리케이션 설치하기

compiler.package.installer 함수로 만든 인스톨러를 사용하여 애플리케이션을 설치하려면 Install Deployed Application 항목을 참조하십시오.

독립 실행형 애플리케이션 실행하기

시스템 명령 프롬프트에서 독립형 실행 파일이 포함되어 있는 폴더로 이동합니다.

운영 체제에 따라 다음 명령 중 하나를 사용하여 입력 인수 5magicsquare를 실행합니다.

Windows

magicsquare 5

Linux

셸 스크립트 사용:

./run_magicsquare.sh <MATLAB_RUNTIME_INSTALL_DIR> 5

참고: Linux에서는 애플리케이션이 기본적으로 소프트웨어 OpenGL™을 사용합니다. 셸 스크립트에서 경로 ${MCRROOT/sys/opengl/lib/glnxa64를 제거하여 하드웨어 OpenGL을 강제로 사용할 수 있습니다.

실행 파일 사용:

./magicsquare 5

macOS

셸 스크립트 사용:

./run_magicsquare.sh <MATLAB_RUNTIME_INSTALL_DIR> 5

실행 파일 사용:

./magicsquare.app/Contents/macOS/magicsquare 5

참고: Linux 및 macOS에서 셸 스크립트를 사용하지 않고 애플리케이션을 실행하려면 먼저 라이브러리 경로에 MATLAB Runtime을 추가해야 합니다. 자세한 내용은 배포를 위한 MATLAB Runtime 경로 설정 항목을 참조하십시오.

애플리케이션은 콘솔에서 다음과 같은 5×5 마방진을 출력합니다.

17    24     1     8    15
23     5     7    14    16
 4     6    13    20    22
10    12    19    21     3
11    18    25     2     9

Linux 또는 macOS에서 애플리케이션의 명령줄 바로 가기를 만들려면 별칭 명령을 사용하십시오.

alias mymagic='/path/to/run_magicsquare.sh <MATLAB_RUNTIME_INSTALL_DIR>'

입력 인수 4를 사용하여 애플리케이션을 실행하려면 터미널에 mymagic 4를 입력합니다.

별칭을 영구적으로 만들려면 Bash 셸의 ~/.bash_aliases 또는 Zsh 셸의 ~/.zprofile 명령을 파일에 추가합니다. 예:

echo "alias mymagic='~/MATLAB/apps/run_magicsquare.sh /usr/local/MATLAB/MATLAB_Runtime/R2023a'" >> ~/.bash_aliases

  • compiler.build.standaloneApplication 함수를 사용하여 독립 실행형 애플리케이션을 만드는 대신 Application Compiler 앱을 사용하여 독립 실행형 애플리케이션을 만들 수도 있습니다.

  • Windows 명령 셸을 실행하지 않는 독립 실행형 애플리케이션을 생성하려면 compiler.build.standaloneWindowsApplication을 사용합니다.

  • mcc 명령을 사용하여 MATLAB Runtime 또는 인스톨러를 포함하지 않는 독립 실행형 애플리케이션을 생성할 수도 있습니다.

참고 항목

| | | | |

관련 항목