matlab compiler SDKによるc言語プログラムの作成について

1 回表示 (過去 30 日間)
Kyohei
Kyohei 2019 年 9 月 5 日
コメント済み: Kyohei 2019 年 9 月 6 日
現在、matlab compiler SDKを用いて、matlabファイルからc言語のプログラムを作成しようと考えています。
MATLABコードによるC共有ライブラリの作成(https://jp.mathworks.com/help/compiler_sdk/gs/create-a-c-application-with-matlab-code.html)を参照して、C共有ライブラリ(libmatrix.dylib)を作成することはできました。
しかしその実行の際、ライブラリとは別にドライバーアプリケーションを用意する必要があるようでした。
そこで質問なのですが、matlab compiler SDKによってライブラリではなく、単体で引数を受け取って実行できるCのコードを作成することはできないのでしょうか。
何卒よろしくお願いいたします。

採用された回答

Kyohei
Kyohei 2019 年 9 月 6 日
ご提示いただいたCソースコードを含めてビルドしたところ、実行ファイル(matrix)が得られました。ありがとうございます。
同様のことを行列演算以外の一般的なMATLABコードに対して行うには、それぞれに対してドライバーアプリケーションを自分で作成しなければならないのでしょうか。
  2 件のコメント
michio
michio 2019 年 9 月 6 日
そうですね。MATLAB Compiler SDK はライブラリを作るものなので、そのライブラリを呼び出す(今回であれば)Cコード部分は別途必要です。
Kyohei
Kyohei 2019 年 9 月 6 日
承知致しました。
ご丁寧にありがとうございます。

サインインしてコメントする。

その他の回答 (1 件)

michio
michio 2019 年 9 月 5 日
MATLAB Compiler SDK を使う場合はどうしてもMATLAB Runtime (ドライバーアプリケーション?)が必要です。 必要としないものだと、MATLAB Coder を使ったアプローチが挙げられますが、Compiler に比べて対応する関数が比較的限られてしまいます。
  2 件のコメント
Kyohei
Kyohei 2019 年 9 月 6 日
ご回答ありがとうございます。
MATLAB Coderも検討しましたが、おっしゃる通り関数が限られるため断念しました。
MATLAB Runtimeは既にインストールしています。説明が足りず申し訳ないのですが、ドライバーアプリケーションは以下のように、MATLAB Compilerでパッケージ化した後、ビルドする際に必要なようでした。このdriverApplication.cとは何を指すのでしょうか。
mbuild driverApplication.c libmatrix.dylib
michio
michio 2019 年 9 月 6 日
編集済み: michio 2019 年 9 月 6 日
MATLAB Runtime のことでありませんでしたね、失礼いたしました。
この driverApplication.c は MATLAB Compiler SDKで作成した共有ライブラリを呼ぶ、Cアプリケーションのソースコードとなります。
提示いただいたWebサイト
の一番下の「Implement a C Shared Library with a Driver Application」のリンクの中にある「C Code to Implement Shared Library」の部分のCソースコードが該当します。
ヘッダファイル名、関数名など一部変更する必要はありますが、
mbuild driverApplication.c libmatrix.dylib
でドライバーアプリケーションを作成できますので試して頂けますでしょうか?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeC 共有ライブラリの統合 についてさらに検索

製品


リリース

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!