matlab调用vc生成的dll,matlab调用vc生成的dll的具体步骤

本文详细指导了如何在Matlab中调用Visual C++(VC)生成的DLL,重点在于C++到C的头文件转换,并提供了从创建VC项目、编写C/C++代码到在Matlab中正确调用DLL的完整步骤。特别强调了C语法的使用以兼容Matlab的要求。
摘要由CSDN通过智能技术生成

41528d3028836879cd698677c3999917.gifmatlab调用vc生成的dll的具体步骤

Matlab 调 用 C 生成的 dll 的具体步骤、、 C 生成 dll 文件(以 vs2008 为例)1 创建项目: Win32->Win32 项目,名称:MyDLL2 新建头文件 testdll.h,并 编写相关程序注:一定要注意头文件的写法,此法是支持 C的头文件,Matlab 调用 DLL只支持用 C语法写成的 DLL,C++的一些关键特性如类、继承等都不支持,用起来的话局限性很大的,还不如单独再用 M文件把算法再写一遍进行仿真呢。具体程序如下#ifndef MATLABDLLTEST_H#define MATLABDLLTEST_H#ifdef __cplusplusextern “C“{#endif__declspec(dllexport) double add(double x, double y);#ifdef __cplusplus}#endif#endif3 新建源文件 testdll.cpp,并编写相关程序具体程序如下所示:#include “stdafx.h“#include “testdll.h“double add(double x, double y){return (x+y);}4 新建模块定义文件 mydll.def,并编写相关程序、、 Matlab 调用生成的 dll1、编译器准备1)在 Matlab 的命令窗口输入:mex -setup2)选择 你的编译器,我的是:[2] Microsoft Visual C++ 2008 SP1 in c:\Program Files\Microsoft Visual Studio 9.02、加载 DLL:把编译连接之后产生的 myDLL.dll 和 testdll.h 文件拷贝到 Matlab 的当前工作目录下,并编写.m 函数具体程序clc;clear all;close all;addpath( dll 的具体路径即 Matlab 的当前工作路径 )%输入 dll 文件具体的存储路径loadlibrary MyDLL testDLL.h alias lib%加载 MyDLL 库,并重命名为 lib,注意加载时常常需要 MyDLL 的头文件libfunctionsview lib %执行此命令后会生成如下窗口calllib( lib , add , 1.0,2.0)%只有出现上述窗口才能使用此命令参考链接:1、 mydll.def,而且在 Matlab 读取路径是的指令也是错误的,参考本文的指令就能跑通)2、 VS 生成 dll 的方法,但如果想用 Matlab 调用生成的 dll 在 编写头文件时一定要用上文的编写指令,而不这篇链接里的指令,因为链接里的指令是生成C++的指令,而 Matlab 只识别 C 的写法)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值