Matlab调用C++生成的Dll动态链接库
创作时间:
作者:
@小白创作中心
Matlab调用C++生成的Dll动态链接库
引用
CSDN
1.
https://blog.csdn.net/qq_53018083/article/details/139838974
本文将详细介绍如何在Matlab中调用C++生成的Dll动态链接库。通过Visual Studio 2019创建C++项目并生成Dll,然后在Matlab 2019中加载并调用该Dll。文章适合有一定编程基础的读者学习参考。
1.软件版本
- Visual Studio 2019
- Matlab 2019
2.C++生成Dll
1.创建一个空项目
2.新建一个SimDll.h和SimDll.cpp文件
//SimDll.h
#pragma once
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
__declspec(dllexport)int add(int a, int b);
__declspec(dllexport)double multiply(double a, double b);
#ifdef __cplusplus
}
#endif // __cplusplus
// SimDll.cpp
#include<iostream>
#include"SimDll.h"
int add(int a, int b)
{
return a + b;
}
double multiply(double a, double b)
{
return a * b;
}
3.配置工程属性
1.选择项目-SimDll属性
2.配置选Release,平台选x64,选择常规-配置类型选动态库(.dll)
3.点击确定后,在主界面选择Release,x64
4.生成-重新生成解决方案。
5.若报错无法打开文件“opencv_world452d.lib” 。
在项目-属性-链接器-输入-附加依赖项,不勾选从父级或项目默认设置继承。
6.重新执行第4步,重新生成解决方案,可看到成功生成。
3.Matlab调用C++生成的Dll
3.1环境配置
使用Matlab调用动态链接库dll_matlab调用dll-CSDN博客
3.2matlab程序
1.第二节生成的动态库目录:...\SimDll\u0064\Release
2.将SimDll.dll和SimDll.lib与SimDll.h和DllTest.m放在同一路径
//SimDll.h
#pragma once
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
__declspec(dllimport)int add(int a, int b);
__declspec(dllimport)double multiply(double a, double b);
#ifdef __cplusplus
}
#endif // __cplusplus
%DllTest.m
%加载库
loadlibrary('SimDll.dll','SimDll.h');
%判断是否加载成功
libisloaded('SimDll');
%查看库里函数
libfunctions('SimDll');
%调用函数
calllib('SimDll', 'multiply', 5.20, 13.14)
%卸载库
unloadlibrary 'SimDll'
%判断库是否加载
libisloaded('SimDll')
%ans=0说明没有加载
3.3运行结果:
热门推荐
TensorFlow模型训练实战:从数据获取到模型预测
汉武帝时期改革风云
新车上牌可以代办吗?全流程详解及所需资料清单
什么是IT?IT行业是做什么的?
新生儿摸哪里判断发烧?这些部位最敏感
为什么有的人睡觉老爱翻身啊啊啊?
辩护律师如何分析案件的证据
亚利桑那州有哪些城市
亚利桑那州有哪些城市
天津话:一座松弛感拉满的“哏儿都”
城市住宅地可以买卖吗
适合帕金森患者的补品竟有他们4个
正财在大运:把握财富与事业的黄金时期
单晶铜与无氧铜作为耳机线区别在哪里?
梦到在床上的深层含义
《金刚经》中的11个隐藏奥秘:从空性智慧到无我观念
红薯冒乳白色液体还能吃吗 红薯没熟透可以吃吗
巨细胞病毒对人体的影响
如何确定租金的支付期限
大陆圈养的最后一只云豹走了!
云豹,一种特别的猫科动物
复合维生素B片服用禁忌是什么
高压实验:探秘极端压强下的材料奇境与科学新征程
球兰:生长习性、特点与生长过程特性
球兰:生长习性、特点与生长过程特性
易货交易:引领未来交易新风尚,共创资源高效利用新时代
离婚时经济帮助的条件指的是什么
探寻古代米酒之道:历史渊源与制作艺术
专家解读:急性脑炎的综合治疗方案
OpenWrt实现远程唤醒本地电脑