MATLAB Answers

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

7 views (last 30 days)
Kyohei
Kyohei on 5 Sep 2019
Commented: Kyohei on 6 Sep 2019
現在、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のコードを作成することはできないのでしょうか。
何卒よろしくお願いいたします。

  0 Comments

Sign in to comment.

Accepted Answer

Kyohei
Kyohei on 6 Sep 2019
ご提示いただいたCソースコードを含めてビルドしたところ、実行ファイル(matrix)が得られました。ありがとうございます。
同様のことを行列演算以外の一般的なMATLABコードに対して行うには、それぞれに対してドライバーアプリケーションを自分で作成しなければならないのでしょうか。

  2 Comments

michio
michio on 6 Sep 2019
そうですね。MATLAB Compiler SDK はライブラリを作るものなので、そのライブラリを呼び出す(今回であれば)Cコード部分は別途必要です。
Kyohei
Kyohei on 6 Sep 2019
承知致しました。
ご丁寧にありがとうございます。

Sign in to comment.

More Answers (1)

michio
michio on 5 Sep 2019
MATLAB Compiler SDK を使う場合はどうしてもMATLAB Runtime (ドライバーアプリケーション?)が必要です。 必要としないものだと、MATLAB Coder を使ったアプローチが挙げられますが、Compiler に比べて対応する関数が比較的限られてしまいます。

  2 Comments

Kyohei
Kyohei on 6 Sep 2019
ご回答ありがとうございます。
MATLAB Coderも検討しましたが、おっしゃる通り関数が限られるため断念しました。
MATLAB Runtimeは既にインストールしています。説明が足りず申し訳ないのですが、ドライバーアプリケーションは以下のように、MATLAB Compilerでパッケージ化した後、ビルドする際に必要なようでした。このdriverApplication.cとは何を指すのでしょうか。
mbuild driverApplication.c libmatrix.dylib
michio
michio on 6 Sep 2019
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
でドライバーアプリケーションを作成できますので試して頂けますでしょうか?

Sign in to comment.

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!