从 C 调用 MATLAB

发布于 2024-08-18 05:05:38 字数 457 浏览 9 评论 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 进行编程,如果我的语言不完全正确,很抱歉!)

谢谢!

I'm writing a Java application that needs to be able to run MATLAB commands. To do so, I'm using a C program that the Java application can call upon to interface with MATLAB. However, even after researching the MATLAB engine, I can't seem to figure out how to compile the C program. This documentation seems to be compiling the C program from within MATLAB: http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/f39903.html. Is there any way to compile from the command line? That is, can I use gcc with some flags to include all the relevant MATLAB support (I don't ordinarily program in C, so sorry if my language is not exactly correct!)

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

壹場煙雨 2024-08-25 05:05:38

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

最好的方法是将 CMake 实用程序与 CMakelists.txt 文件结合使用。现在,此处提供了有关如何编写 CMakeLists.txt 的演示 以及如何将 C/C++ 与 Matlab 连接在这里。我希望它有帮助......

You can compile your code normally as you would do for a normal C program, but you need to specify the dependencies correctly.

The best way to do is to use the CMake utility with a CMakelists.txt file. Now, a demo on how to write the CMakeLists.txt is given here and how to interface C/C++ with Matlab is given here. I hope it helps....

鱼忆七猫命九 2024-08-25 05:05:38

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

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

2) 编写 c使用步骤 1 中生成的 matlab dll 的 dll。使用 c 编译器编译 c dll。有关如何调用 matlab 生成的 dll 内部函数的信息,请参阅以下链接
MATLAB 编译器生成的接口函数

3) 使用步骤2中用java生成的c dll。

Maybe you want do the following :

1) Compile your matlab code (i.e m files ) with the matlab compiler mcc from the matlab command line. mcc compiler generates c dll . The matlab generated c dll contains the c interface for the matlab m files. See the following link about how to generate c dll from matlab M files.
C Shared Library Target

2) Write c dll that uses the generated matlab dll in step 1. Compile the c dll with c compiler.See the following link about how to call the functions that are inside the matlab generated dll
MATLAB Compiler Generated Interface Functions

3) Use the generated c dll in step 2 with java.

淡看悲欢离合 2024-08-25 05:05:38

我不使用 MATLAB,但我猜您必须执行以下操作:

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

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

I don't use MATLAB, but I'm guessing that you have to do something like this:

  1. Compile your C program with MATLAB libraries to create a shared library that Java can use.
  2. Write a JNI interface that calls your shared library, being sure to link in your new SO and all those from MATLAB that you need.

Break the problem into steps and you'll sort it out.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文