Matlab编译项目的用户定义配置
我正在使用Matlab编译器将Matlab代码编译成DLL,我可以在其他地方运行。但是,我的DLL和函数有很多配置变量,而且太多,无法作为函数的输入 当前,用户指定.mat文件的文件路径,该文件在所有配置设置的编译代码中加载。执行.m文件以生成.mat文件。但是,当配置设置更改时,用户必须进入.m文件更改必要的设置并重新执行它以生成更新的.mat文件 显然,这个过程很麻烦,很容易忘记重新执行.m以更新配置。我考虑过几件事,但似乎有问题:Matlab编译项目的用户定义配置,matlab,configuration,matlab-compiler,Matlab,Configuration,Matlab Compiler,我正在使用Matlab编译器将Matlab代码编译成DLL,我可以在其他地方运行。但是,我的DLL和函数有很多配置变量,而且太多,无法作为函数的输入 当前,用户指定.mat文件的文件路径,该文件在所有配置设置的编译代码中加载。执行.m文件以生成.mat文件。但是,当配置设置更改时,用户必须进入.m文件更改必要的设置并重新执行它以生成更新的.mat文件 显然,这个过程很麻烦,很容易忘记重新执行.m以更新配置。我考虑过几件事,但似乎有问题: 如果可以使用文本编辑器读取/编辑.mat文件就太好了,但
- 如果可以使用文本编辑器读取/编辑.mat文件就太好了,但据我所知,这是不可能的
- 另一种方法是XML,但我认为Matlab没有很好的XML支持
- 运行.m文件以填充已编译dll中的工作空间,但这是不可能的
谢谢你的阅读 因此您可以使用XML—MATLAB确实通过
xmlread
和xmlwrite
支持XML。这些函数返回/接受一个DOM节点,您需要自己操作它,这可能有点麻烦。如果用户想要更改配置,那么必须编辑或读取XML对他们来说也不是那么有趣
如果不使用MATLAB编译器,还可以直接使用.m
文件来存储配置信息。但是,如果您正在编译,它将无法工作,因为.m
文件将被加密,不再可编辑
我通常用于配置文件。YAML是一种基于文本的格式,因此用户可以在文本编辑器中手动编辑它们,并且您可以对文件进行版本控制;但它比XML更容易让人阅读。没有尖括号,它的布局更简单,您可以包含注释来分隔和解释配置的各个部分
MATLAB本机不支持YAML,但您可以下载(例如或)一些第三方软件,这些软件工作良好,易于集成,并且可以免费获得许可。我自己也编写了代码,如果您需要的话,我很乐意与您分享。因此您可以使用XML-MATLAB确实通过
xmlread
和xmlwrite
支持XML。这些函数返回/接受一个DOM节点,您需要自己操作它,这可能有点麻烦。如果用户想要更改配置,那么必须编辑或读取XML对他们来说也不是那么有趣
如果不使用MATLAB编译器,还可以直接使用.m
文件来存储配置信息。但是,如果您正在编译,它将无法工作,因为.m
文件将被加密,不再可编辑
我通常用于配置文件。YAML是一种基于文本的格式,因此用户可以在文本编辑器中手动编辑它们,并且您可以对文件进行版本控制;但它比XML更容易让人阅读。没有尖括号,它的布局更简单,您可以包含注释来分隔和解释配置的各个部分
MATLAB本机不支持YAML,但您可以下载(例如或)一些第三方软件,这些软件工作良好,易于集成,并且可以免费获得许可。我自己也编写了代码,如果您需要,我很乐意与您分享