matlab::cpplib::initMATLABLibrary
デプロイ可能なアーカイブ ファイルにパッケージ化された MATLAB 関数のライブラリを初期化
説明
std::unique_ptr<MATLABLibrary> initMATLABLibrary(std::shared_ptr<MATLABApplication> application, const std::u16string & ctfPath)
std::unique_ptr<MATLABLibrary> initMATLABLibrary(std::shared_ptr<MATLABApplication> application, const std::u16string & ctfPath, const std::u16string& session_key = std::u16string())
デプロイ可能なアーカイブ (CTF) ファイルにパッケージ化された MATLAB® 関数のライブラリを初期化し、そのライブラリへの一意のポインターを返します。パラメーターとして、MATLABApplication
インスタンスへの共有ポインターと CTF のパスを受け取ります。オプションで、16 進数でエンコードされた 64 バイトの AES 復号化キーの追加引数を受け取ります。これを使用すると、実行時にユーザーが MEX ローダーの代わりに C++ API を使用してライブラリを復号化できます。
デプロイ可能なアーカイブのパスは、相対パスでも絶対パスでもかまいません。相対パスの場合、ファイルが見つかるかすべての可能性がなくなるまで、そのパスの先頭に次のパスが以下に示す順序で付加されます。
環境変数
CPPSHARED_BASE_CTF_PATH
の値 (定義されている場合)作業フォルダー
実行可能ファイルが配置されたフォルダー
Mac の場合: 実行可能ファイルが配置されたフォルダーの 3 レベル上のフォルダー (たとえば、実行可能ファイルが
generic_interface/foo_generic.app/Contents/MacOS/foo
の場合、使用されるフォルダーはgeneric_interface
)
ライブラリが見つかると初期化され、そのライブラリへのポインターが返されます。それ以外の場合は例外がスローされます。
パラメーター
std::shared_ptr<MATLABApplication> application | |
const std::u16string & ctfPath | アーカイブへのパス (相対または絶対)。 |
const std::u16string& session_key = std::u16string() | AES 復号化キー。64 バイトのファイル サイズの 16 進数でエンコードされた AES キーとして指定します。 詳細については、 |
戻り値
| ライブラリから関数 ( |
例外
| 指定された名前のライブラリが共有ライブラリ パスに見つかりません。 |
matlab::cpplib::LibInitErr | ライブラリを初期化できません。 |
例
MATLABLibrary
の初期化
std::vector<std::u16string> opts = {u"-nojvm"}; auto matlabPtr = initMATLABApplication(MATLABApplicationMode::IN_PROCESS, opts); auto libAstro = initMATLABLibrary(matlabPtr, convertUTF8StringToUTF16String("astro.ctf"));
バージョン履歴
R2018a で導入
参考
matlab::cpplib::convertUTF8StringToUTF16String
| matlab::cpplib::convertUTF16StringToUTF8String
| matlab::cpplib::initMATLABApplication
| matlab::cpplib::runMain
| matlab::cpplib::initMATLABLibraryAsync
| matlab::cpplib::MATLABLibrary::feval
| matlab::cpplib::MATLABLibrary::fevalAsync
| matlab::cpplib::MATLABLibrary::waitForFiguresToClose