2017-07-18 5 views
1

Matlabコンパイラーを使用して、Matlabコードをdllにコンパイルしています。これは他の場所でも実行できます。しかし、私のdllと関数には多くの設定変数があり、関数の入力にはあまりにも多くの変数があります。Matlabコンパイル済みプロジェクトのユーザー定義構成

現在、ユーザーは、すべての構成設定のコンパイル済みコード内にロードされた.matファイルへのファイルパスを指定します。 .matファイルを生成するために.mファイルが実行されます。ただし、設定が変更された場合は、.mファイルに移動して必要な設定を変更し、再度実行して更新された.matファイルを生成する必要があります。

明らかに、このプロセスは面倒で、設定を更新するために.mを再実行するのを忘れてしまうのは簡単です。

  • .MATファイルはテキストエディタでeditted /リード、しかし限り、私はこれを言うことができるように可能

  • ないことができればそれは素晴らしいことだ:私は考えられますが、問題のように見えるしているカップルの事

    別のアプローチはXMLですが、私はMATLABはコンパイルされたDLL内のワークスペースを埋めるために偉大なXMLサポート

  • 実行.Mファイルを持っていない印象でいますが、これは不可能です

私の質問は、他の誰かがこの問題にぶつかる前に、あるいは私の現在のアプローチよりも合理化された他の代替アプローチを考えることができるかどうかです。

読んでいただきありがとうございます!

答えて

0

XMLを使用できます - MATLABはxmlreadxmlwriteでXMLをサポートしています。これらの関数はDOMノードを返す/受け取りますが、これはあなた自身で操作する必要があります。これはちょっとしたことかもしれません。 XMLは、ユーザーが設定を変更したい場合に編集や読書をするのが楽しいことでもありません。

MATLAB Compilerを使用していない場合は、.mファイルを直接使用して設定情報を保存することもできます。しかし、あなたがコンパイルしているのであれば、.mファイルは暗号化され、もはや編集可能ではありません。

私は通常、設定ファイルにYAMLを使用します。 YAMLはテキストベースのフォーマットなので、ユーザはテキストエディタで手で編集することができ、ファイルをバージョン管理することができます。 XMLよりもはるかに人が読めるようになっています。山括弧はありません。もっと簡単にレイアウトされています。また、設定のセクションを区切って説明するコメントを含めることもできます。

MATLABはYAMLをネイティブにサポートしていませんが、ダウンロードが可能なサードパーティ製のもの(例:hereまたはhere)があり、容易に統合でき、自由にライセンスされています。私はあなたがそれを必要とすれば何とか分かち合うことができてうれしいコードを自分で書いています。

関連する問題