关于可部署存档
当 MATLAB® Compiler™ 或 MATLAB Compiler SDK™ 创建应用程序或共享库时,它会将内容捆绑包到可部署的存档中,该存档是一个 CTF 文件,包含应用程序中包含的所有基于 MATLAB 的内容(MATLAB 文件、MEX 文件等)。底(对数)
可部署存档中包含的所有 MATLAB 文件(.m
和 .p
文件)均使用高级加密标准 (AES) 密码系统进行加密。默认情况下,文件的名称和目录结构不会被隐藏,其他文件类型(包括 MEX 文件、MAT 文件、FIG 文件、Java JAR 或类文件)都不会被加密。所有其他类型的文件均被不加改变地复制到存档。当可部署应用程序运行时,CTF 存档中的文件将被提取到磁盘上,并且存档中加密的所有文件仍将加密保存在磁盘上。如果您选择将可部署存档提取为单独的文件,则这些文件也将保持加密状态。
小心
请勿提取 .ctf
文件内的文件并将其单独置于版本控制之下。由于 .ctf
文件包含相互依赖的 MATLAB 函数和数据,因此只能通过访问 .ctf
文件才能访问其中的文件。为了获得最佳效果,请将整个 .ctf
文件置于版本控制之下。
有多种打包选项可以提高打包应用程序的安全性。有关详细信息,请参阅保护可部署存档中的代码和数据。
其他详细信息
多个可部署存档(例如使用 COM 组件、.NET 程序集或 Excel® 加载项生成的存档)可以在同一个用户应用程序中共存。但是,您不能混合搭配它们包含的 MATLAB 文件。您不能将多个可部署存档中的加密和压缩的 MATLAB 文件合并到另一个可部署存档中并分发它们。
给定可部署存档中的所有 MATLAB 文件都与唯一的加密密钥相关联。位于同一可部署存档中的具有不同密钥的 MATLAB 文件不会执行。如果您想使用不同的 MATLAB 文件组合生成另一个应用程序,请将这些 MATLAB 文件重新编译为新的可部署存档。
编译失败后,编译器会删除可部署的存档和生成的二进制文件,但前提是这些文件在编译启动之前不存在。运行 help mcc -K
以获取更多信息。
小心
发布工程师和软件配置经理:不要使用剥离可部署存档中的共享库的构建过程或流程。如果这样做,您可能会从二进制文件中删除可部署存档,从而导致驱动应用程序出现运行时错误。