Несмотря на то, что исходный код MATLAB® (.m
) является исполняемым файлом отдельно, к содержимому исходных файлов MATLAB легко получают доступ, разоблачающие детали разработки и реализации. Если вы не хотите распределять свой код закрытого приложения в этом формате, можно использовать одну из этих опций вместо этого:
Развернитесь, когда Псевдокод — Преобразовывает некоторых, или все ваши файлы исходного кода к затененной содержимым форме вызвали Pcode-файл (от его расширения файла .p
), и распределите свой код приложения в этом формате. Когда Псевдокоды MATLAB файл, файл запутывается не зашифрованный. В то время как содержимое в файле .p
трудно понять, оно не должно считаться безопасным. Не рекомендуется что вы Pcode-файлы, чтобы защитить вашу интеллектуальную собственность.
MATLAB не поддерживает live скрипты преобразования или живет функции к Pcode-файлам.
Скомпилируйте в двоичный формат — Компиляция ваши файлы исходного кода с помощью MATLAB Compiler, чтобы произвести автономное приложение. Распределите последнего конечным пользователям вашего приложения.
Pcode-файл ведет себя то же самое как источник MATLAB, из которого это было произведено. Pcode-файл также запускается на той же скорости как исходный файл. Pcode-файлы намеренно запутываются. Они не зашифрованы. В то время как содержимое в файле .p
трудно понять, оно не должно считаться безопасным. Не рекомендуется что вы Pcode-файлы, чтобы защитить вашу интеллектуальную собственность.
Поскольку пользователи Pcode-файлов не могут просмотреть код MATLAB, полагайте, что обеспечение диагностики позволяет пользователю продолжить в случае ошибки.
Чтобы сгенерировать Pcode-файл, введите следующую команду в Окно Команды MATLAB:
pcode file1 file2, ...
Команда производит файлы, file1.p
, file2.p
, и так далее. Чтобы преобразовать все
исходные файлы .m
, находящиеся в вашей текущей папке к Pcode-файлам, используйте команду:
pcode *.m
Смотрите страницу ссылки на функцию pcode
для описания всех синтаксисов для генерации Pcode-файлов.
Вы вызываете получившийся Pcode-файл таким же образом, вы вызываете исходный файл .m
MATLAB, от которого он был выведен. Например, чтобы вызвать файл myfun.p
, ввести
[out, out2, ...] = myfun(in1, in2, ...);
Чтобы вызвать скрипт myscript.p
, ввести
myscript;
Когда вы вызываете Pcode-файл, MATLAB дает ему приоритет выполнения по своему соответствующему исходному файлу .m
. Это верно, даже если вы, оказывается, изменяете исходный код в какой-то момент после генерации Pcode-файла. Не забудьте удалять исходный файл .m
прежде, чем распределить ваш код.
Pcode-файлы разработаны, чтобы быть независимыми от релиза, при котором они были созданы и релиз, в котором они используются (обратная и прямая совместимость). Новыми и функциями MATLAB устаревшими может быть проблема, но это - та же проблема, которая существовала бы, если бы вы использовали исходный входной файл MATLAB. Чтобы зафиксировать ошибки этого вида в Pcode-файле, зафиксируйте соответствующий входной файл MATLAB и создайте новый Pcode-файл.
Pcode-файлы, созданные с помощью MATLAB Version 7.4 и ранее, имеют другой формат, чем созданные с более поздними версиями MATLAB. Эти более старые Pcode-файлы не запускаются в MATLAB 8.6 (R2015b) или позже. Восстановите любые Pcode-файлы, которые были созданы с MATLAB 7.4 или более ранним использованием более поздней версии MATLAB, и затем перераспределяют их по мере необходимости.
Другой способ защитить ваш исходный код состоит в том, чтобы встроить его в автономный исполняемый файл и распределить исполняемый файл, наряду с любыми другими необходимыми файлами, внешним клиентам. У вас должны быть MATLAB Compiler™ и поддерживаемый C или компилятор C++, установленный, чтобы подготовить файлы к развертыванию. Конечному пользователю, однако, не нужен MATLAB.
Чтобы создать автономное приложение для вашего приложения MATLAB, разработайте и отладьте свое приложение, выполняющее обычную процедуру для файлов программы MATLAB. Затем сгенерируйте исполняемый файл, или файлы, следующие инструкциям в, Создают Автономное Приложение от MATLAB (MATLAB Compiler).