主要内容

MATLABコドによるc共有ラブラリの作成

サポ,トされるプラットフォ,ム:窗户®, Linux®Mac

この例では,matlab®関数を使用してc共有ラescブラリを作成する方法を説明します。MATLABのライセンス コピーがターゲット システムにインストールされている必要はありません。

MATLABでの関数の作成

  1. Matlabで,パッケ,ジ化するMatlabコ,ドを調べます。

    この例では,matlabに付属している矩阵フォルダ,を作業フォルダ,にコピ,します。

    拷贝文件(fullfile (matlabroot,“外来的”“例子”“compilersdk”“c_cpp”“矩阵”),“矩阵”

    作業フォルダ,内の新しい矩阵サブフォルダ,に移動します。

  2. 関数addmatrix.mmultiplymatrix.m,およびeigmatrix.mを確認してテストします。

    addmatrix.m

    Matlabコマンドプロンプトで,Addmatrix ([1 4 7;2 5 8;3 6 9], [1 4 7;2 5 8;3 6 9])と入力します。

    出力は以下のようになります。

    Ans = 2 8 14 4 10 16 6 12 18

    multiplymatrix.m

    Matlabコマンドプロンプトで,多重矩阵([1 4 7;2 5 8;3 6 9], [1 4 7;2 5 8;3 6 9])と入力します。

    出力は以下のようになります。

    Ans = 30 66 102 36 81 126 42 96 150

    eigmatrix.m

    Matlabコマンドプロンプトで,矩阵([1 4 7;2 5 8;3 6 9])と入力します。

    出力は以下のようになります。

    Ans = 16.1168 -1.1168 -0.0000

ラ▪▪ブラリコンパ▪▪ラアプリを使用したc共有ラ▪▪ブラリの作成

  1. [matlabアプリ]タブで,[アプリ]セクションの右端にある矢印をクリックします。[アプリケ,ションのデプロ]で,[ラepブラリコンパepラ]をクリックします。(MATLAB编译器)プロジェクトウィンドウで,[c共有ラc_c_ブラリ]をクリックします。

    または,matlabプロンプトでlibraryCompilerと入力し,[ラepブラリコンパepラ]アプリを開きます。

  2. ラ▪▪ブラリコンパ▪▪ラアプリのプロジェクトウィンドウで,デプロイするMATLABアプリケーションのファイルを指定します。

    1. ルストリップの[エクスポ,トする関数]セクションで,向项目添加导出函数をクリックします。

    2. [ファ电子邮箱ルの追加]ウィンドウで,サンプルのフォルダ,を参照し,パッケ,ジ化する関数を選択します。[開く]をクリックします。

    エクスポトする関数ファルのリストに関数が追加されます。同じアプリケションに複数のファルをパッケジ化するには,この手順を繰り返します。

    3主机の関数すべてをメ主机ンファ主机ルのリストに追加します。

  3. ルストリップの[パッケ,ジ化オプション]セクションで次のオプションのいずれかを選択して,生成されるアプリケ,ションにMATLAB运行时

    • ランタ@ @ランタ@ @ムをWebからダウンロ@ @ド- - - - - -MATLAB运行时をダウンロードしてデプロイされたMATLABアプリケーションと共にインストールするインストーラーを生成します。。

    • ランタ▪▪ムをパッケ▪▪ジに含める- - - - - -MATLAB运行时。。

      メモ

      このオプションを初めて選択したときに,MATLAB运行时

  4. [ラ电子邮箱ブラリ名]フィルドで,パッケジ化された共有ラブラリの名前をlibmatrixに変更します。同じ名前が,共有ラ。

アプリケションとその外観のカスタマズ

ラ▪▪ブラリコンパ▪▪ラアプリでは,インストーラーをカスタマイズし,アプリケーションをカスタマイズし,アプリケーションについて情報を追加することができます。

  • ラ@ @ブラリ情報—デプロaapl . cerされるアプリケ. cerションに関する情報。また,アプリケーションアイコンとスプラッシュスクリーンを変更して,アプリケーションの外観をカスタマイズすることもできます。生成されるインストーラーはこの情報を使用して,インストールされるアプリケーションのメタデータを入力します。インストーラーのカスタマイズを参照してください。

  • 追加ンストラオプション—生成される。ンスト,ルパスの変更を参照してください。

  • ラ▪▪ブラリの実行に必要なファ▪▪ル—生成されるアプリケションを実行するために必要な追加ファル。これらのファルは,生成されるアプリケションンストラに含められます。コンパ▪▪ラプロジェクトの必須ファ▪▪ルの管理を参照してください。

  • エンドユザ用にンストルされるファル—アプリケションと共にンストルされるファル。

    アプリケションと共にンストルするファルの指定を参照してください。

アプリケ,ションのパッケ,ジ化

パッケ,ジ化オプションの選択が終了したら,ラ▪▪ブラリコンパ▪▪ラのプロジェクトを保存し,パッケ,ジ化されたアプリケ,ションを生成します。

  1. [パッケ,ジ化]をクリックします。

    [プロジェクトを保存]ダ▪▪▪アログボックスで,プロジェクトを保存する場所を指定します。

  2. [パッケ,ジ]ダ电子邮箱アログボックスで,[プロセスが完了したら出力フォルダ,を開く]が選択されていることを確認します。

    パッケ,ジ化プロセスが完了したら,タ,ゲットフォルダ,内の生成された出力を調べます。

    • 3 .のフォルダfor_redistributionfor_redistribution_files_only,およびfor_testingが生成されます。

      これらのフォルダに生成されるファルの詳細にいては,Matlab関数のパッケジ化後に生成されるファルを参照してください。

    • ログファ@ @ルPackagingLog.htmlにはパッケ,ジ化の結果が含まれています。

compiler.build.cSharedLibraryを使用したc共有ラescブラリの作成

ライブラリコンパイラアプリの代わりに,プログラムによる方法を使用してC共有ライブラリを作成できます。ラ超市超市ブラリコンパ超市超市ラを使用してラ超市超市ブラリを既に作成している場合は,CアプリケションでのC共有ラブラリの実装を参照してください。

  • 関数compiler.build.cSharedLibraryを使用してc共有ラescブラリをビルドします。名前と値の引数を使用してラesc escブラリ名を指定し,詳細な出力を有効にします。

    buildResults = compiler.build.cSharedLibrary([“addmatrix.m”...“eigmatrix.m”“multiplymatrix.m”],...“LibraryName”“libmatrix”...“详细”“上”);

    compiler.buildコマンドで名前と値の引数を使用して,追加オプションを指定できます。詳細にいては,compiler.build.cSharedLibraryを参照してください。

    compiler.build.ResultsオブジェクトbuildResultsには,ビルドタイプ,生成ファイル,含まれるサポートパッケージ,およびビルドオプションに関する情報が含まれています。

    関数により,現在の作業ディレクトリのlibmatrixcSharedLibraryという名前のフォルダに以下のファルが生成されます。

    • GettingStarted.html-共有ラaapl . exeブラリの統合に関する情報が含まれるHTMLファaapl . exeル。

    • included金宝appSupportPackages.txt—ラ▪▪ブラリに含まれるすべてのサポ▪▪トファ▪▪ルをリストしたテキストファ▪▪ル。

    • libmatrix.c- cソスコドファル。

    • libmatrix.def—リンカにモジュル情報を提供するモジュル定義ファル。

    • libmatrix.dll—ダ▪▪ナミックリンクラ▪▪ブラリファ▪▪ル。

    • libmatrix.exports—すべての非静的関数名が含まれるエクスポトファル。

    • libmatrix.h- cヘッダファル。

    • libmatrix.lib—huawei @ 123 @ huawei @ 123 @ huawei @ 123 @ huawei @ 123 @ 123。Macでのファ@ @ル拡張子は. dylib, UNIX®でのファ@ @ル拡張子は所以です。

    • mccExcludedFiles.log—アプリケションに含まれていないすべてのルボックス関数のリストが含まれるログファル。サポトされていない関数の詳細にいては,MATLAB编译器の制限を参照してください。

    • 固定—パッケジ化情報が含まれるテキストファル。

    • requiredMCR下载188bet金宝搏Products.txt- - - - - -MATLAB运行时がアプリケションを実行するために必要な製品の製品idが含まれるテキストファル。

    • unresolvedSymbols.txt-未解決のシンボルに関する情報が含まれるテキストファie浏览器ル。

    メモ

    生成されたラ@ @ブラリにMATLAB运行时やンストラは含まれていません。buildResultsオブジェクトを使用してンストラを作成するには,compiler.package.installerを参照してください。

CアプリケションでのC共有ラブラリの実装

付属のcアプリケ,ションコ,ドを使用して共有ラ,C共有ラブラリをドラバアプリケションとともに実装を参照してください。

参考

||

関連するトピック