VS010生成可由MATLAB2016调用的DLL文件方法

news/2025/3/25 20:23:26/

亲测实用,不用配置杂七杂八的依赖项

1:新建Win32的DLL输出项目

2:修改为release模式

3:添加calc.cpp文件,即要导出的函数myadd:

#include "calc.h"

__declspec(dllexport) int myadd(int a,int b)
{
    return a+b;
}

4:添加calc.h文件,注意:一定要约定为C的调用方式,即extern "C" ,否则Matlab会警告:未在库中找到函数 'myadd' 

#ifdef __cplusplus
extern "C" {
#endif

    __declspec(dllexport) int myadd(int a,int b);

#ifdef __cplusplus
}
#endif    

5:编译生成.dll文件,然后将calc.h复制到相同目录下,注意生成的dll路径为:项目名\x64\Release

6:打开MATLAB,将工作空间定位到dll路径下,依次执行:

loadlibrary('calc.dll','calc.h');

calllib('calc', 'myadd', 25, 7)

结果如下,成功调用了封装好的myadd函数:


http://www.ppmy.cn/news/1583039.html

相关文章

python3面试题20个(python web篇)

更多内容请见: python3案例和总结-专栏介绍和目录 文章目录 1.python asyncio的原理?2.对Flask蓝图(Blueprint)的理解?3.Flask 和 Django 路由映射的区别?4.什么是wsgi,uwsgi,uWSGI?5.Django、Flask、Tornado的对比?6.CORS 和 CSRF的区别?7.Session,Cookie,JWT的理解8.简…

Simula语言的NoSQL

Simula语言与NoSQL数据库 引言 随着信息技术的飞速发展,数据存储与管理的需求日益增长。传统的关系数据库管理系统(RDBMS)在处理庞大和多样化的数据时,常常面临性能瓶颈和灵活性不足的问题。因此,NoSQL数据库应运而生…

同旺科技USB to I2C 适配器 ---- 指令循环发送功能

所需设备: 内附链接 1、同旺科技USB to I2C 适配器 1、周期性的指令一次输入,即可以使用 “单次发送” 功能,也可以使用 “循环发送” 功能,大大减轻发送指令的编辑效率; 2、 “单次发送” 功能,“发送数据…

【redis】主从复制:全量复制、部分复制、实时复制详解

文章目录 全量复制无硬盘模式runId 部分复制积压缓冲区 实时复制总结回顾 全量复制 从节点主动找主节点进行复制 从节点发送 psync 命令给主节点进行数据同步,由于是第一次进行复制,从节点没有主节点的 replicationid(运行 id) 和…

数据库—sql语法基础

目录 一.sql(Structured Query Language) 1.什么是sql语言? 2.特点 分支1:DDL 1.什么是DDL语言? 2.常用的语句 3.应用示例 1>.创建一个数据库 2>.修改字符集 3>.删除数据库 4.设计表 1>.字符 2>.日期 3>.整数…

RabbitMQ的高级特性介绍(二)

发送方确认 当消息的⽣产者将消息发送出去之后,消息到底有没有正确地到达服务器呢? 如果在消息到 达服务器之前已经丢失(比如RabbitMQ重启, 那么RabbitMQ重启期间⽣产者消息投递失败), 持久化操作也解决不了这个问题,因为消息根本没有到达服务器&#…

计算机网络入门:物理层与数据链路层详解

🌐 (专业解析 中学生也能懂!) 📖 前言 计算机网络就像数字世界的“高速公路系统”,而物理层和数据链路层是这条公路的基石。本文用 专业视角 和 生活化比喻 ,带你轻松理解这两层的核心原理&a…

Linux与HTTP中的Cookie和Session

HTTP中的Cookie和Session 本篇介绍 前面几篇已经基本介绍了HTTP协议的大部分内容,但是前面提到了一点「HTTP是无连接、无状态的协议」,那么到底有什么无连接以及什么是无状态。基于这两个问题,随后解释什么是Cookie和Session,以…