MATLAB Answers

0

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

Kyohei 님이 질문을 제출함. 5 Sep 2019
최근 활동 Kyohei 님이 댓글을 추가함. 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

로그인 to comment.

제품


릴리스

R2019a

답변 수: 2

Kyohei 님의 답변 6 Sep 2019
 채택된 답변

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

  댓글 수: 2

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

로그인 to comment.


michio 님의 답변 5 Sep 2019

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

  댓글 수: 2

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

로그인 to comment.