How do i use and -s flag for compiling a MATLAB app

I want to compile a Matlab app, and I'd like to keep some of the functions written for the code unreadable.
I read that I can use a "-s" flag to obfuscate the code, but didn't manage to use it properly. How can I do it?

Answers (3)

Hi,
For obfuscating the code, you can use the "pcode" function in MATLAB. It converts the .m file to P-file, which is content-obscured and execute-only form of MATLAB code.
Syntax for creating P-file
pcode(item) %% creates a item.p P-file for the item.m file
Refer to pcode documentation for more information on how to use "pcode" function.
You can add the -s option to the mcc command line.
If you are using applicationCompiler then click on the Settings button, and in the section that comes up marked "Additional parameters passed to mcc:" type in
-s

2 Comments

Thank you for your answer! But it doesn't seem to recognize this specific flag for some reason. I am using Matlab R2021b.
Also, I want to package a Matlab app, (maybe the term 'compile' wasn't the right one), and there doesn't seem to be a way to prompt mcc commands while packaging.
Use the "-j" switch to the MATLAB Compiler to automatically convert all M files to P-code (in R2022b or later)
The "-s" option of the MATLAB Compiler doesn't obfuscate the M code, it obfuscates the file and folder structure inside the package and also supports encryption of data files.

Sign in to comment.

Use the "-j" switch of the MATLAB Compiler to automatically convert all M files to P-code (in R2022b or later)

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Products

Release

R2021b

Tags

Asked:

on 4 Nov 2021

Answered:

on 12 Jun 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!