加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 20:07:35 所属栏目:PHP教程 来源:网络整理
导读:步骤: 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,在
步骤:
  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文件目录下新建1个bat文件,内容为:(路径为你机器上实际路径)

 X:...DXE8incc32 -c -nBCCOBJ -IX:...DXE8Include;X:...DXE8IncludeWindowscrtl rt_nonfinite.c
 X:...DXE8incc32 -c -nBCCOBJ -IX:...DXE8Include;X:...DXE8IncludeWindowscrtl rtGetInf.c
 X:...DXE8incc32 -c -nBCCOBJ -IX:...DXE8Include;X:...DXE8IncludeWindowscrtl rtGetNaN.c
 X:...DXE8incc32 -c -nBCCOBJ -IX:...DXE8Include;X:...DXE8IncludeWindowscrtl test.c
 X:...DXE8incc32 -c -nBCCOBJ -IX:...DXE8Include;X:...DXE8IncludeWindowscrtl test_initialize.c
 X:...DXE8incc32 -c -nBCCOBJ -IX:...DXE8Include;X:...DXE8IncludeWindowscrtl test_terminate.c


 pause


 保存

 在同目录下建立 BCCOBJ 目录

 运行bat文件


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

步骤2结束。


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

在Delphi中援用这些 obj 文件,就能够使用了。


{$LINK bccobj est_initialize.obj} {$LINK bccobj est_terminate.obj} {$LINK bccobj est.obj} {$LINK bccobj t_nonfinite.obj} {$LINK bccobj tGetInf.obj} {$LINK bccobj tGetNaN.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结束。



(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读