Main Content

P コードを使用したコンテンツ不明瞭化ファイルの作成

P コード ファイルは、生成元の MATLAB® ソースと同様に動作します。さらに、P コード ファイルはソース ファイルと同じ速度で実行されます。P コード ファイルは意図的に難読化されています。

メモ

セキュリティについての考慮事項: 関数 pcode は、独自の難読化されたコード形式で MATLAB プログラム ファイルを生成します。機密コードやデータを保護するため、複数の方法を組み合わせることを検討してください。詳細については、ソース コードを保護するためのセキュリティについての考慮事項を参照してください。

P コード ファイルの作成

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

pcode file1 file2, ...

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

pcode *.m

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

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

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

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

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

myscript;

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

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

P コード ファイルは、その作成に使用したリリースおよびそれが使用されるリリースとは関係なく機能するように設計されています (下位互換性および上位互換性)。MATLAB の新機能と非推奨の機能は、エラーの原因になる可能性がありますが、このようなエラーは元の MATLAB ソース ファイルを使用した場合にも発生します。P コード ファイルでこの種のエラーを修正するには、対応する MATLAB ソース ファイルを修正し、新しい P コード ファイルを作成します。

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

参考

関連するトピック