matlab调c的dll库

转载 2016年08月28日 20:30:22
下面以一个简单的小例子演示Matlab调用DLL的过程:
  1、编译器准备
    在Matlab的命令窗口输入:mex -setup
    选择你的编译器,我的是:
      [2] Microsoft Visual C++ 2008 SP1 in c:\Program Files\Microsoft Visual Studio 9.0 
  2、编写你自己的DLL
     在Visual Studio 2008中新建一个Win32的Dll工程,不妨设名字为MatlabDllTest
     编辑MatlabDllTest.cpp:
#include "MatlabDllTest.h"

double add(double x, double y)
{
    return (x+y);
}
    编辑MatlabDllTest.h:
#ifndef MATLABDLLTEST_H
#define MATLABDLLTEST_H

#ifdef __cplusplus
extern "C"
{
#endif

    __declspec(dllexport) double add(double x, double y);

#ifdef __cplusplus
}
#endif

#endif
  3、加载DLL:把编译连接之后产生的MatlabDllTest.dll和MatlabDllTest.h文件拷贝到Matlab的当前工作目录下,输入
    loadlibrary('MatlabDllTest','MatlabDllTest.h');
(一定要有这步,如果dll不成功,会显示错误原因)
 
  4、查看DLL中导出的函数
    libfunctions MatlabDllTest -full
    -full选项会列出导出函数的详细输入和输出参数,这是输出信息如下:
      Functions in library MatlabDllTest:
      double add(double, double)
  5、调用函数
    calllib('MatlabDllTest', 'add', 1.3, 4.6)
    此时就会输出正确的结果
      ans =
          5.9000
  总结:这个例子比较简单,只是为了演示整个过程,如果真的用到了Matlab来调用外部DLL的这种方式的话,就要注意DLL工程要符合Matlab的要求,详细信息请自己查看Matlab的帮助文件。

C#调用matlab动态链接库

1、C#调用matlab程序方法 步骤一:在MATLAB中建一个m文件(test.m) ***注意,.m文件名随意,function函数名随意*** 该程序用于模拟生成雷克子波,并绘图,代码如下...
  • FXM720505
  • FXM720505
  • 2016年05月12日 11:29
  • 2575

C#调用matlab写的动态链接库(dll)

最近老师在做项目,有一个需求,就是他现在用matla
  • peng825223208
  • peng825223208
  • 2014年09月16日 12:50
  • 1847

C语言调用matlab引擎和调用matlab生成的DLL文件

2016/10/22 15:30 参考:http://blog.163.com/rongting_chen/blog/static/164906844201252354518462/ http://b...
  • enjoy_learn
  • enjoy_learn
  • 2016年10月22日 15:30
  • 1808

c/c++调用matlab生成dll,exe,com组件

做了一个项目需要把matlab下的m文件生成dll或者exe或者com组件在c/c++下使用。m文件中涉及到matlab中的神经网络函数 ,没有神经网络时候dll,exe,com都可以成功调用实习想要...
  • pinellina
  • pinellina
  • 2015年12月03日 16:41
  • 687

matlab生成c和c++调用的dll文件

在matlab上做了一个实验项目要转到应用中,形成dll文件能被c和c++调用。很多情况是matlab版本低找不到编译工具,或不识别本机的编译工具。 比如我的matlab开始是r2011a,实验项目也...
  • pinellina
  • pinellina
  • 2015年11月25日 21:35
  • 1456

MATLAB调用C/C++编写的文件,例 .dll .mexw64等

先说一下我的电脑配置:win10, 64位系统, VS2015, Matlab2016a。 导师给了用C++改进的MATLAB函数,如下图,对于一枚小白,一看就傻眼,这可运行啥。 先看一下能看...
  • sinat_34765729
  • sinat_34765729
  • 2017年12月18日 14:57
  • 27

VC调用matlab dll方式混合编程(c风格--例2)<二>

VC与Matlab混合编程之调用动态链接库dll—— 1、是先建立 matlab 的 m 文件。 ellipsefit.m 其包含:function [Xc,Yc,A,B,Phi,P]=ell...
  • u010177286
  • u010177286
  • 2015年04月27日 18:28
  • 671

C# 调用C/C++ DLL库的回调函数

1、在 C/C++端 定义一个函数指针 Typedef void (*TESTBACK)(int a, int b); 定义一个带函数指针的函数 __declspec(dllexpor...
  • lbc2100
  • lbc2100
  • 2018年01月04日 13:29
  • 30

matlab生成VS可调用的dll文件

1、单独的m文件 matlab函数编译成dll供Cpp调用的方法 - vincenzo.lai - 博客园
  • whu_paprika
  • whu_paprika
  • 2014年07月02日 15:23
  • 1651

MFC与Matlab编程总结 (以《Matlab与C/C++混合编程技术(第三版)》-刘维 第五章 生成DLL为例)

  近期要完成一个任务,把人脸超分辨率的算法集成在一个系统中,嵌入人脸库及字典集等。老板的要求是有比较好的界面,目前也只能是VS那一套了,前一段时间完成的项目是用的MFC,这次也就是用MFC来完...
  • qust_waiwai
  • qust_waiwai
  • 2014年05月13日 16:47
  • 5076
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:matlab调c的dll库
举报原因:
原因补充:

(最多只允许输入30个字)