MATLAB: How to hide code in S-Function block in simulink

code generationEmbedded CoderMATLABs-functionsimulinkTarget Support Package

Using legacy tool and minGW compiler, i have compiled my c code (.c) and header file as well (.h). In result of same i get S-Function Source file (.c) and mex file.
Using mex file, i have created a S-Function block in MATLAB simulink.
Now as per my requirements, i wanted to hide the S-Function Source file (.c) which can be seen via S-Function block in MATLAB simulink.
ultimately my requirement is to, hide the code from user.
Saying all of above, i wanted to know:
  1. Am i able to hide code sing S-Function block in simulink?
  2. If Answer to first queston is yes, then how to do so?

Best Answer

You have your source code (in .c or .m or Fortran), compile them into a .mex (or .dll) file using mex() command, then you can use the S-function block in Simulink to use this function.
When you deploy it to other users, you can just copy the .mex or .dll file without including the source code. The user will be able to use the S-function but won't be able to view your source code.