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运行结果:
热门推荐
为何恒星核聚变到铁元素就停止了?那些重元素是怎么来的?
聊聊游戏行业的阴暗面
中国人为什么很喜欢月亮
黄曲霉毒素检测仪:工作原理、应用实践及其重要作用
解开“入境游”流量背后的密码
2024北京高考360分能上什么大学?
小盘股成长型投资者如何构建超额回报投资组合?
豆粕供需基本面及成本探究
新生儿照护指南:科学带娃的7个关键点
抗血管生成药物:扼杀肿瘤的血液供应
金铲铲之战腥红之月阵容怎么搭配?9腥红之月阵容搭配攻略
伴侣之间,多身体触碰,真的让人心情愉悦
《三体》:穿越宇宙的命运回响,关键事件全解读
俄罗斯女子从破产动物园救出一只熊,现在它们成了最好的朋友
肋骨炎有哪些症状?
如何查询不动产登记信息及办理不动产登记手续
老子-微明章(柔弱胜刚强)
意甲:罗马状态有所回暖,帕尔马多休4天体能占优
章鱼鱿鱼乌贼是同一种鱼吗?
未能改变宋朝命运的李纲:忠诚与抗金背后的历史悲剧
中秋节的意义:文化传承与时代价值
正确认识化疗,做好化疗前后准备,用信心消除恐惧
水冷or风冷:预算有限如何选
海棠花几点钟开花?如何正确判断海棠花的开花时间?
探秘梅州:客家文化遗产与自然魅力之旅
未来已来:AI配音技术在游戏开发中的应用
英语教学中情景模拟教学方法的优缺点分析
打板策略详解:如何在不同市场环境下提高投资收益?
75种K线基本形态
马年:十二生肖中的“午”年