Delphi 如何使用 Matlab 的 .m文件?
来源:互联网 发布:matlab可以运行c语言吗 编辑:程序博客网 时间:2024/05/21 13:22
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.c
X:\...\DXE8\bin\bcc32 -c -nBCCOBJ -IX:\...\DXE8\Include;X:\...\DXE8\Include\Windows\crtl rtGetInf.c
X:\...\DXE8\bin\bcc32 -c -nBCCOBJ -IX:\...\DXE8\Include;X:\...\DXE8\Include\Windows\crtl rtGetNaN.c
X:\...\DXE8\bin\bcc32 -c -nBCCOBJ -IX:\...\DXE8\Include;X:\...\DXE8\Include\Windows\crtl test.c
X:\...\DXE8\bin\bcc32 -c -nBCCOBJ -IX:\...\DXE8\Include;X:\...\DXE8\Include\Windows\crtl test_initialize.c
X:\...\DXE8\bin\bcc32 -c -nBCCOBJ -IX:\...\DXE8\Include;X:\...\DXE8\Include\Windows\crtl test_terminate.c
pause
保存
在同目录下建立 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文件?
- MATLAB中M文件的使用
- matlab .m文件的编写&使用
- matlab的M文件
- MATLAB的M文件
- Matlab的M文件
- 如何cmd命令行下直接运行Matlab的M文件
- MATLAB的M文件的学习和使用
- Matlab .m文件的命名
- 如何关联m文件和Matlab编辑器
- Matlab如何建立和调用M文件(M-File)
- MATLAB的M文件调用另一个M文件的函数
- matlab的使用问题(—):每次双击.m文件都会自动打开一个matlab程序
- 关于matlab 的M文件的读取
- VS 编译 matlab 的 m 文件
- matlab中m文件的命名规则
- Java调用MATLAB的.m文件
- matlab的m文件关联方法
- 线程与进程详解
- [LeetCode刷题记录]Number of Islands
- android人脸识别项目FaceDetector--------研究之二
- oracle 分组求和一个小例子
- MySQL查询每个部门的最高薪水
- Delphi 如何使用 Matlab 的 .m文件?
- Extension Methods - C#
- smack·的简单应用
- DECODE(),trunc() ,ceil和floor函数用法
- 做项目遇到的小的要注意的问题
- LCD接口技术
- 【Java基础之finally和return】有return的情况下try catch finally的执行顺序
- linux shell split命令使用
- gitlab的用户使用手册