MATLAB Compiler vs MATLAB Coder -
what's difference between two?
as far understand it, matlab compiler wraps matlab code .exe file can used without installing matlab, , requires mcr. on top of matlab builder ne can used produce .net assemblies used .net framework instead of .exe file, still require mcr.
now don't understand matlab coder used for? generates c/c++ code. matlab code converted c/c++, or merely packaged in case of matlab compiler? need mcr run?
i understand not programming question. have searched internet , still haven't found clear answer. these expensive products know getting into.
matlab compiler encrypts , archives matlab code (which remains matlab .m code), , packages in thin executable (either .exe or .dll) wrapper. delivered end user along matlab compiler runtime (mcr). if wish, mcr can packaged within executable well.
the mcr freely redistributable, , can think of copy of matlab without front-end desktop.
when user runs executable, dearchives , decrypts matlab code, , runs against mcr instead of matlab. applications delivered via method should therefore run same within matlab (including same speed).
matlab coder converts subset of matlab language c code. can used in many different ways, including being brought matlab mex file, compiled c compiler called application, or delivered embedded device. since c code rather matlab code, (though not always) run faster original matlab code. c code not require mcr. supported subset of matlab language extensive, there few notable restrictions want before committing workflow. code produced c code, although can produce c++ wrapper if have need use c++ compiler rather c compiler.
matlab compiler intended use case want , (fairly) straightforwardly share matlab application you've written not have copy of matlab. since deployed .m code encrypted, can used share matlab code while protecting intellectual property.
matlab coder has other use cases, such wanting speed matlab code converting mex file, or needing produce c code application or embedded device.
if have more detailed questions, recommend call mathworks , ask them.
edit: information above correct versions of matlab r2014b , below. of matlab r2015a, functionality matlab compiler has been remixed functionality matlab builder products, , there new product matlab compiler sdk.
as of r2015a, matlab compiler works in same way described above (i.e. encrypt, archive , package, not producing c), package .exe, , excel add-in (.xla). prior r2015a, functionality used present in product matlab builder ex excel.
as of r2015a, matlab compiler no longer produces .dll components. functionality has been moved new product matlab compiler sdk, includes functionality produce .net assemblies , java classes. prior r2015a, functionality used present in products matlab builder ne .net , matlab builder ja java.
in other words:
in r2014b , below, had:
matlab compiler: produce .exe , .dll components
matlab builder ne .net: produce .net assemblies
matlab builder ja java: produce java classes
matlab builder ex microsoft excel: produce excel add-ins.
in r2015a, have:
matlab compiler: produce .exe , excel add-ins
matlab compiler sdk: produce .dll, .net assemblies , java classes.
the scope , use-cases of matlab coder have not changed across these releases (although there new features).
edit: of r2015b, matlab compiler sdk produces python packages.
additional information on distinguishing matlab coder , matlab compiler c/c++ can found here.
comparison table of different matlab products code generation.
Comments
Post a Comment