【Matlab】C++和MATLAB混合编程-DLL篇

先小话一下DLL,DLL是动态链接库,是源代码编译后的二进制库文件和程序接口,和静态链接库不同的是,程序在编译时并不链接动态链接库的执行体,而是在文件中保留一个调用标记,在程序运行时才将动态链接库文件加载入内存。并且DLL在运行时是共享的,即当多个程序调用时,内存中也只保持一份动态链接库。

动态链接库的调用有显式和隐式两种方式。

隐式链接需要用到我们前面生成的plotdata.c,plotdata.h,plotdata.lib以及plotdata.dll文件。
首先将plotdata.c,plotdata.h加入工程中,注意在需要用到函数的文件加入#include “plotdata.h”。
之后链接输入项中写上plotdata.lib。右击工程->Propertites->Link->Input->Additional Dependecies中加上plotdata.lib(也就是在调用MATLAB引擎时填写libmat.lib、libeng.lib等的地方)注意plotdata.lib也需要放在你的工程下,或者写全路径,如"D:\data\plotadata.lib",需要加引号。
这样在你的代码中就可以直接用plotdata.h中的接口函数了。

另显式链接的方式:所谓“显式”说白了就是在代码中写出来我要调用这个DLL。

首先我们需要定义一个函数类型,方便我们后面进行函数的强制类型转换。我们可以在plotdata.h中找到我们将要使用的函数plotdata,他的函数声明如下:

extern LIB_plotdata_CPP_API void MW_CALL_CONV plotdata(co
  • 13
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值