ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

ソース コードの保護

MATLAB® ソース コード (.m) は、それ自体で実行可能ですが、MATLAB ソース ファイルのコンテンツには簡単にアクセスできるため、設計や実装の詳細が公開されてしまいます。独自のアプリケーション コードをこの形式で配布しないようにするには、代わりに次のようなオプションを使用します。

  • P コードで配布 — ソース コード ファイルのすべてまたは一部を "P コード" ファイル (.p ファイル拡張子から) というコンテンツを不明瞭化したファイルに変換し、その形式でアプリケーション コードを配布します。MATLAB でファイルが P コード化されると、ファイルは "暗号化" ではなく "難読化" されます。.p の内容は解読しにくくなりますが、安全ではありません。知的財産を保護する目的には P コード ファイルは推奨されません。

    MATLAB は、P コード ファイルへのライブ スクリプトの変換をサポートしていません。

  • バイナリ形式にコンパイル — MATLAB Compiler を使用してソース コード ファイルをコンパイルし、スタンドアロン アプリケーションを作成します。アプリケーションのエンド ユーザーに後者を配布します。

P コードを使用したコンテンツ不明瞭化形式の作成

P コード ファイルは、生成元の MATLAB ソースと同様に動作します。さらに、P コード ファイルはソース ファイルと同じ速度で実行されます。P コード ファイルは意図的に難読化されています。暗号化はされていません。.p の内容は解読しにくくなりますが、安全ではありません。知的財産を保護する目的には P コード ファイルは推奨されません。

    メモ:   P コード ファイルのユーザーは、MATLAB コードを表示することができないため、エラー発生時にユーザーが対処するための診断を与えることを考慮してください。

P コード ファイルの作成

P コード ファイルを生成するには、MATLAB コマンド ウィンドウで次のコマンドを入力します。

pcode file1 file2, ...

このコマンドにより、file1.pfile2.p などのファイルが生成されます。現在のフォルダーに存在する "すべての" .m ソース ファイルを P コード ファイルに変換するには、次のコマンドを使用します。

pcode *.m

P コード ファイルを生成するすべての構文の詳細は、関数 pcode のリファレンス ページを参照してください。

P コード ファイルの呼び出し

生成された P コード ファイルは、基となった MATLAB .m ソース ファイルの呼び出しと同じ方法で呼び出します。たとえばファイル myfun.p を呼び出すには、次のように入力します。

[out, out2, ...] = myfun(in1, in2, ...);

スクリプト myscript.p を呼び出すには、次のように入力します。

myscript;

P コード ファイルを呼び出すと、MATLAB では、そのファイルが対応する .m ソース ファイルに優先して実行されます。これは、P コード ファイルを生成した後でソース コードを変更した場合にも適用されます。コードを配布する前に、忘れずに .m ソース ファイルを削除してください。

MATLAB の新しいバージョンでの古い P コード ファイルの実行

P コード ファイルは、その作成に使用したリリースおよびそれが使用されるリリースとは関係なく機能するように設計されています (下位互換性および上位互換性)。MATLAB の新機能と廃止予定の機能は、問題となる可能性がありますが、それは元の MATLAB 入力ファイルを使用した場合に存在する問題と差はありません。P コード ファイルでこの種のエラーを修正するには、対応する MATLAB 入力ファイルを修正し、新しい P コード ファイルを作成します。

MATLAB Version 7.4 以前を使用して作成した P コード ファイルの形式は、MATLAB の新しいバージョンで作成したものと異なります。これらの古い P コード ファイルは MATLAB 8.6 (R2015b) 以降では実行できません。MATLAB 7.4 以前でビルドされた P コード ファイルは、より新しいバージョンの MATLAB でリビルドしてから、必要に応じて再配布してください。

スタンドアロン実行可能ファイルの作成

ソース コードを保護するもう 1 つの方法には、スタンドアロン実行可能ファイルとして作成し、そのファイルを必要なその他のファイルと共に外部顧客に配布する方法があります。配布用のファイルを準備するには、MATLAB Compiler™ とサポートされる C または C++ コンパイラがインストールされていなければなりません。ただし、エンド ユーザーには MATLAB は必要ありません。

MATLAB アプリケーションのスタンドアロン アプリケーションを作成するには、MATLAB プログラム ファイル作成の通常の手順の後で、アプリケーションを開発し、デバッグします。次に、MATLAB Compiler のドキュメンテーションの「エンド ユーザーに配布するために開発者が実行する手順」の手順に従って、実行可能ファイルを生成します。

この情報は役に立ちましたか?