MATLABコドによるc共有ラブラリの作成
サポ,トされるプラットフォ,ム:窗户®, Linux®、Mac
この例では,matlab®関数を使用してc共有ラescブラリを作成する方法を説明します。MATLABのライセンス コピーがターゲット システムにインストールされている必要はありません。
MATLABでの関数の作成
Matlabで,パッケ,ジ化するMatlabコ,ドを調べます。
この例では,matlabに付属している
矩阵
フォルダ,を作業フォルダ,にコピ,します。拷贝文件(fullfile (matlabroot,“外来的”,“例子”,“compilersdk”,“c_cpp”,“矩阵”),“矩阵”)
作業フォルダ,内の新しい
矩阵
サブフォルダ,に移動します。関数
addmatrix.m
、multiplymatrix.m
,およびeigmatrix.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
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
Matlabコマンドプロンプトで,
矩阵([1 4 7;2 5 8;3 6 9])
と入力します。出力は以下のようになります。
Ans = 16.1168 -1.1168 -0.0000
ラ▪▪ブラリコンパ▪▪ラアプリを使用したc共有ラ▪▪ブラリの作成
[matlabアプリ]タブで,[アプリ]セクションの右端にある矢印をクリックします。[アプリケ,ションのデプロ]で,[ラepブラリコンパepラ]をクリックします。(MATLAB编译器)プロジェクトウィンドウで,[c共有ラc_c_ブラリ]をクリックします。
または,matlabプロンプトで
libraryCompiler
と入力し,[ラepブラリコンパepラ]アプリを開きます。ラ▪▪ブラリコンパ▪▪ラアプリのプロジェクトウィンドウで,デプロイするMATLABアプリケーションのファイルを指定します。
ルストリップの[エクスポ,トする関数]セクションで,をクリックします。
[ファ电子邮箱ルの追加]ウィンドウで,サンプルのフォルダ,を参照し,パッケ,ジ化する関数を選択します。[開く]をクリックします。
エクスポトする関数ファルのリストに関数が追加されます。同じアプリケションに複数のファルをパッケジ化するには,この手順を繰り返します。
3主机の関数すべてをメ主机ンファ主机ルのリストに追加します。
ルストリップの[パッケ,ジ化オプション]セクションで次のオプションのいずれかを選択して,生成されるアプリケ,ションにMATLAB运行时。
ランタ@ @ランタ@ @ムをWebからダウンロ@ @ド- - - - - -MATLAB运行时をダウンロードしてデプロイされたMATLABアプリケーションと共にインストールするインストーラーを生成します。。
ランタ▪▪ムをパッケ▪▪ジに含める- - - - - -MATLAB运行时。。
メモ
このオプションを初めて選択したときに,MATLAB运行时。
[ラ电子邮箱ブラリ名]フィルドで,パッケジ化された共有ラブラリの名前を
libmatrix
に変更します。同じ名前が,共有ラ。
アプリケションとその外観のカスタマズ
ラ▪▪ブラリコンパ▪▪ラアプリでは,インストーラーをカスタマイズし,アプリケーションをカスタマイズし,アプリケーションについて情報を追加することができます。
ラ@ @ブラリ情報—デプロaapl . cerされるアプリケ. cerションに関する情報。また,アプリケーションアイコンとスプラッシュスクリーンを変更して,アプリケーションの外観をカスタマイズすることもできます。生成されるインストーラーはこの情報を使用して,インストールされるアプリケーションのメタデータを入力します。インストーラーのカスタマイズを参照してください。
追加ンストラオプション—生成される。ンスト,ルパスの変更を参照してください。
ラ▪▪ブラリの実行に必要なファ▪▪ル—生成されるアプリケションを実行するために必要な追加ファル。これらのファルは,生成されるアプリケションンストラに含められます。コンパ▪▪ラプロジェクトの必須ファ▪▪ルの管理を参照してください。
エンドユザ用にンストルされるファル—アプリケションと共にンストルされるファル。
アプリケションと共にンストルするファルの指定を参照してください。
アプリケ,ションのパッケ,ジ化
パッケ,ジ化オプションの選択が終了したら,ラ▪▪ブラリコンパ▪▪ラのプロジェクトを保存し,パッケ,ジ化されたアプリケ,ションを生成します。
[パッケ,ジ化]をクリックします。
[プロジェクトを保存]ダ▪▪▪アログボックスで,プロジェクトを保存する場所を指定します。
[パッケ,ジ]ダ电子邮箱アログボックスで,[プロセスが完了したら出力フォルダ,を開く]が選択されていることを確認します。
パッケ,ジ化プロセスが完了したら,タ,ゲットフォルダ,内の生成された出力を調べます。
3 .のフォルダ
for_redistribution
、for_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共有ラブラリをドラバアプリケションとともに実装を参照してください。
参考
libraryCompiler
|compiler.build.cSharedLibrary
|deploytool