Как создать исполняемый файл .exe из файла .m - PullRequest
26 голосов
/ 18 декабря 2009

Мне было интересно, есть ли способ создать файл '.exe' из файла '.m' в matlab, чтобы его можно было запускать на машине без MATLAB (как это можно сделать в C, C ++) Я знаю, что написание функции MATLAB - это один из способов, но не уверен, что она может работать на машине без MATLAB.

Также я хотел бы скрыть свой код и просто создать скрипт, который может запускать пользователь, используя его собственные файлы данных.

Ответы [ 8 ]

22 голосов
/ 18 декабря 2009

Компилятор Matlab является стандартным способом сделать это. mcc - это команда. Matlab Runtime требуется для запуска программ; Я не уверен, может ли он быть напрямую интегрирован с исполняемым файлом или нет.

9 голосов
/ 18 декабря 2009

Если у вас установлен MATLAB Compiler, есть опция GUI для компиляции. Попробуйте ввести

deploytool

в командной строке. Mathworks неплохо справляется с работой, документируя, как использовать его в этом видеоуроке: http://www.mathworks.com/products/demos/compiler/deploytool/index.html

Также, если вы хотите включить пользовательский ввод, такой как выбор файла или каталога, посмотрите на

uigetfile % or uigetdir if you need every file in a directory

для использования вместе с

guide
7 голосов
/ 18 декабря 2009

Попробуйте:

mcc -m yourfile

Также см. help mcc

2 голосов
/ 18 декабря 2009

Если ваш код больше похож на процедуру анализа данных (вместо визуализации / GUI), попробуйте GNU Octave Это бесплатно, и многие его функции совместимы с MATLAB. (Не 100%, а возможно 99,5%.)

1 голос
/ 20 июня 2018
mcc -?

объясняет, что синтаксис для * .exe (автономного приложения) с * .m:

 mcc -m <matlabFile.m> 

Например:

mcc -m file.m

создаст файл file.exe в текущем каталоге.

1 голос
/ 11 мая 2015

Метод StandAlone для компиляции файла .m (или файлов) требует набора файлов опубликованной библиотеки (.dll) Matlab на целевой (не Matlab) платформе, чтобы разрешить выполнение сгенерированного компилятором .exe.

Проверьте основной сайт MATLAB на наличие продуктов для компиляторов и их ограничений.

1 голос
/ 18 декабря 2009

Раньше было возможно скомпилировать Matlab в C с более старыми версиями Matlab. Ознакомьтесь с другими инструментами, которые поставляется с Matlab.

Новейший код Matlab можно экспортировать как jar-файл Java или .Net Dll и т. Д. Затем вы можете написать исполняемый файл для этой библиотеки - кстати, он будет запутан. Пользователи должны будут установить свободно доступную среду исполнения Matlab.

Как и другие упомянутые, mcc / mcc.exe - это то, что вы хотите конвертировать в Matlab-код в C-код.

0 голосов
/ 12 августа 2015

Я разработал программное обеспечение non-matlab для прямой компиляции m-файлов ( TMC Compiler ). Это конвертер с открытым исходным кодом проектов m-файлов в C. Компилятор создает код C, который может быть связан с предоставленной библиотекой времени выполнения с открытым исходным кодом для создания автономного приложения. Библиотека реализует набор встроенных функций; операции линейной алгебры используют код LAPACK. Можно расширить набор встроенных функций за счет пользовательской реализации, как описано в документации.

...