Delphi 如何使用 Matlab 的 .m文件?

步骤:1、在matlab中,将.m文件编译成.c文件;2、用bcc32编译.c文件,得到obj文件;3、在Delphi中,调用obj文件;

步骤1、在matlab中,将.m文件编译成.c文件

a).编写test.m文件

function [c,d] = test(a,b) c = a + b; d = a * b;

b).运行matlab2014a,在工作界面输入coder,在Matlab Coder Project 新建工程对话框中输入工程名称 test

在窗体右边的工程中,添加test.m文件到工程中,

添加完test.m文件之后,,选择函数输入的参数类型:

切换到 Build 页,进行设置

最后点击编译。

会在你的工程目录下生成.c文件。

步骤1结束。

步骤2、用bcc32编译.c文件,得到obj文件

在.c文件目录下新建一个bat文件,内容为:(路径为你机器上实际路径)

X:\…\DXE8\bin\bcc32 -c -nBCCOBJ -IX:\…\DXE8\Include;X:\…\DXE8\Include\Windows\crtl rt_nonfinite.cX:\…\DXE8\bin\bcc32 -c -nBCCOBJ -IX:\…\DXE8\Include;X:\…\DXE8\Include\Windows\crtl rtGetInf.cX:\…\DXE8\bin\bcc32 -c -nBCCOBJ -IX:\…\DXE8\Include;X:\…\DXE8\Include\Windows\crtl rtGetNaN.cX:\…\DXE8\bin\bcc32 -c -nBCCOBJ -IX:\…\DXE8\Include;X:\…\DXE8\Include\Windows\crtl test.cX:\…\DXE8\bin\bcc32 -c -nBCCOBJ -IX:\…\DXE8\Include;X:\…\DXE8\Include\Windows\crtl test_initialize.cX:\…\DXE8\bin\bcc32 -c -nBCCOBJ -IX:\…\DXE8\Include;X:\…\DXE8\Include\Windows\crtl test_terminate.cpause

保存

在同目录下建立 BCCOBJ 目录

运行bat文件

在 BCCOBJ目录下,将会生成6个obj文件。

步骤2结束。

步骤3、在Delphi中,调用obj文件

在Delphi中引用这些 obj 文件,就可以使用了。

{$LINK bccobj\test_initialize.obj}{$LINK bccobj\test_terminate.obj}{$LINK bccobj\test.obj}{$LINK bccobj\rt_nonfinite.obj}{$LINK bccobj\rtGetInf.obj}{$LINK bccobj\rtGetNaN.obj}

定义要使用的函数:procedure _test_initialize(); cdecl; external;procedure _test_terminate(); cdecl; external;procedure _test(const a, b: Integer; var c, d: Integer); cdecl; external;调用var a, b: Integer;begin _test_initialize(); _test(2, 3, a, b); _test_terminate(); Caption := Format('%d %d', [a, b]);end;步骤3结束。

青春气贯长虹,勇敢盖过怯懦,进取压倒苟安。

Delphi 如何使用 Matlab 的 .m文件?

相关文章:

你感兴趣的文章:

标签云: