0

私はMATLABコマンドを実行できる必要があるJavaアプリケーションを書いています。そのために、JavaアプリケーションがMATLABとのインターフェイスとして呼び出すことができるCプログラムを使用しています。しかし、MATLABエンジンを調べても、Cプログラムのコンパイル方法がわからないようです。このドキュメントは、MATLAB内からCプログラムをコンパイルしているようです:http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/f39903.html。コマンドラインからコンパイルする方法はありますか?つまり、いくつかのフラグを指定してgccを使用して、関連するすべてのMATLABサポートを含めることができますか(通常、Cでプログラムすることはないので、言語が正確に正しくない場合は申し訳ありません!)

ありがとう!

4

3 に答える 3

1

通常のCプログラムの場合と同じようにコードをコンパイルできますが、依存関係を正しく指定する必要があります。

最善の方法は、CMakelists.txtファイルでCMakeユーティリティを使用することです。ここで、CMakeLists.txtの記述方法のデモと、C /C++とMatlabのインターフェイス方法のデモを示します。お役に立てば幸いです。

于 2013-01-19T10:02:44.670 に答える
0

私はMATLABを使用していませんが、次のようなことをしなければならないと思います。

  1. CプログラムをMATLABライブラリとコンパイルして、Javaが使用できる共有ライブラリを作成します。
  2. 共有ライブラリを呼び出すJNIインターフェイスを作成します。必ず、新しいSOと必要なMATLABのすべてのSOをリンクしてください。

問題をいくつかのステップに分けて、それを整理します。

于 2010-01-18T11:23:00.473 に答える
0

たぶんあなたは次のことをしたいです:

1)matlabコマンドラインからmatlabコンパイラmccを使用してmatlabコード(つまりmファイル)をコンパイルします。mccコンパイラはcdllを生成します。matlabで生成されたcdllには、matlabmファイルのcインターフェイスが含まれています。matlabMファイルからcdllを生成する方法については、次のリンクを参照してください。 C共有ライブラリターゲット

2)手順1で生成されたmatlabdllを使用するcdllを記述します。cdllをcコンパイラでコンパイルします。matlabで生成されたdll内にある関数を呼び出す方法については、次のリンクを参照して ください。MATLABコンパイラで生成されたインターフェイス関数

3)手順2で生成されたcdllをjavaで使用します。

于 2010-01-18T11:43:01.597 に答える