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运行结果:
热门推荐
【GDB调试技巧】提高gdb的调试效率
勾股定理的三种经典证明方法及其历史发展
小国卢森堡为何能够成为全球金融中心,卢森堡离岸公司介绍
卢森堡发达的原因是什么?其经济模式有何借鉴之处?
在家种植虎尾兰:光照、浇水、土壤等全方位养护指南
从扩张到精耕 只为一出“好戏” ——2025年中国音乐剧市场展望
展子虔:意度具足,唐画之祖
管控体重很难?10道低脂高蛋白瘦身菜谱,解馋下饭,吃出你的美
深圳出发至云南旅游完整费用指南:含交通、住宿、景点门票及餐饮预算
细胞培养技术员如何在职业生涯中发挥自己的能力?
月上柳梢头人约黄昏后是什么节日 原诗及翻译整理
素食的常见五大营养误区
品质管理:引领时代的企业核心竞争力
pH标准液的选择与制备方法详解
工业联网中的无线网桥:构建稳定可靠的无线数据传输链路
怀孕可以吃褪黑素吗 哺乳期能吃褪黑素吗
玄空风水基础解析,探索传统智慧的奥秘
寒潮抵达海南大范围降温,冰冻线进入广东确定,权威预报:降水将增多
医疗并购规模缩水,回暖信号已现
翠华山:终南山下的4A级地质公园
工信部出手严控稀土供给!金力永磁“蹭上”机器人概念,H股股价年内大涨超86%
外在的顺应与和谐则是实现目标的关键
腾讯已拿版号:被禁6年后,《彩虹六号:围攻》终于可以堂堂正正直播了!
欧冠奖金榜:20队超6000万 皇马第7巴萨第8利物浦近1亿
被误解的「95 后」,在「大厂」发光
甜瓜品种产地与营养价值全解析
三国演义中的三绝之韵
品牌管理体系的有效性如何评估?
肝脾不和的症状与日常管理
乡村教育振兴计划启动,如何缩小城乡教育差距?