0

我正在编写一个需要能够运行 MATLAB 命令的 Java 应用程序。为此,我使用了一个 C 程序,Java 应用程序可以调用它来与 MATLAB 交互。然而,即使在研究了 MATLAB 引擎之后,我似乎也无法弄清楚如何编译 C 程序。该文档似乎是从 MATLAB 中编译 C 程序:http: //www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/f39903.html。有没有办法从命令行编译?也就是说,我可以使用带有一些标志的 gcc 来包含所有相关的 MATLAB 支持(我通常不会用 C 编程,如果我的语言不完全正确,请见谅!)

谢谢!

4

3 回答 3

1

您可以像编译普通 C 程序一样正常编译代码,但您需要正确指定依赖项。

最好的方法是将 CMake 实用程序与 CMakelists.txt 文件一起使用。现在,这里给出了如何编写 CMakeLists.txt 的演示,这里给出如何将 C/C++ 与 Matlab 接口。我希望它有帮助....

于 2013-01-19T10:02:44.670 回答
0

我不使用 MATLAB,但我猜你必须这样做:

  1. 使用 MATLAB 库编译您的 C 程序,以创建 Java 可以使用的共享库。
  2. 编写一个调用您的共享库的 JNI 接口,确保链接到您的新 SO 以及您需要的所有来自 MATLAB 的 SO。

把问题分解成几个步骤,你就会解决它。

于 2010-01-18T11:23:00.473 回答
0

也许您想要执行以下操作:

1) 从 matlab 命令行使用 matlab 编译器 mcc 编译你的 matlab 代码(即 m 个文件)。mcc 编译器生成 c dll 。matlab 生成的 c dll 包含 matlab m 文件的 c 接口。有关如何从 matlab M 文件生成 c dll 的信息,请参见以下链接。 C 共享库目标

2)编写使用步骤1中生成的matlab dll的c dll。用c编译器编译c dll。有关如何调用matlab生成的dll中的 函数MATLAB Compiler Generated Interface Functions ,请参见以下链接

3)将步骤2中生成的c dll与java一起使用。

于 2010-01-18T11:43:01.597 回答