C语言调用MATLAB生成的动态链接库的具体方法
2015-05-22 11:03
337 查看
在上一篇博文中,讲述了MATLAB生成动态链接库的一种方法,本博文则对C语言调用dill做了具体讲述,并在文尾简要论述了MATLAB函数与C语言之间的参量调用。
调用dill的具体步骤如下:
1)添加MATLAB Include 目录
在VS项目属性的附加包含目录里添加MATLAB的头文件目录(在MATLAB安装路径下的\extern\include中)
2)添加静态链接库lib
在VS项目属性链接器的附加依赖项中,需要添加三个lib,分别为MATLAB函数生成的lib以及其对外接口mclmc.lib,mclmcrrt.lib。
出于安全性考虑官方只提供这两个接口。
或采用代码表示:
#pragma comment(lib,"mclmcr.lib")
#pragma comment(lib,"mclmcrrt.lib")
#pragma comment( lib, "sim_visual.lib" )
这里其附加库的目录为\extern\lib\win64\microsoft
3)添加dill
在工程目录下或系统目录下添加dill文件
4)函数调用
此时打开MATLAB生成的.h文件即可以发现以下代码:
extern LIB_DrawCurve_CPP_API void MW_CALL_CONV sim_visual();
在相应程序段添加函数即可。
注意在函数前后分别添加函数
sim_vInitialize();
sim_vTerminate();
头文件中有相关声明。
5)编译
此时注意版本一致性问题(win32与win64的区别)详见
6)参量传递问题
注意如果传递参量则在vs中其形式为mxArray*。
关于mxArray的具体用法可以在网上自行百度。
调用dill的具体步骤如下:
1)添加MATLAB Include 目录
在VS项目属性的附加包含目录里添加MATLAB的头文件目录(在MATLAB安装路径下的\extern\include中)
2)添加静态链接库lib
在VS项目属性链接器的附加依赖项中,需要添加三个lib,分别为MATLAB函数生成的lib以及其对外接口mclmc.lib,mclmcrrt.lib。
出于安全性考虑官方只提供这两个接口。
或采用代码表示:
#pragma comment(lib,"mclmcr.lib")
#pragma comment(lib,"mclmcrrt.lib")
#pragma comment( lib, "sim_visual.lib" )
这里其附加库的目录为\extern\lib\win64\microsoft
3)添加dill
在工程目录下或系统目录下添加dill文件
4)函数调用
此时打开MATLAB生成的.h文件即可以发现以下代码:
extern LIB_DrawCurve_CPP_API void MW_CALL_CONV sim_visual();
在相应程序段添加函数即可。
注意在函数前后分别添加函数
sim_vInitialize();
sim_vTerminate();
头文件中有相关声明。
5)编译
此时注意版本一致性问题(win32与win64的区别)详见
fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突
6)参量传递问题注意如果传递参量则在vs中其形式为mxArray*。
关于mxArray的具体用法可以在网上自行百度。
相关文章推荐
- vc++调用MATLAB complier生成的C动态链接库
- Matlab产生可供VC调用的动态链接库的一种方法
- java 解决调用c语言实现简单HelloWorld函数生成.dll动态链接库的32位dll文件无法在64位机上运行
- 关于Java调用C写的动态链接库的具体实现方法,自己捉摸了好久,现在算是来造福大众了 T _T
- VC调用MatLab生成的动态链接库
- C++与Matlab混编,调用生成的动态链接库
- windows 32/64位系统 VS2010调用MATLAB2012生成的dll方法
- C#调用C++动态链接库方法介绍
- C语言调用matlab引擎和调用matlab生成的DLL文件
- 生成dll动态链接库后的调用
- android的APP调用C语言的动态链接库的实现步骤
- 如何用c语言调用c++做成的动态链接库
- MATLAB与C++混合编程:动态链接库方法实现混合编程及常见错误解决办法
- VC6.0如何创建以及调用动态链接库具体实例
- C语言调用DLL动态链接库出错
- C# 调用GDAL编写的动态链接库dll,后不能将生成的图像显示到picturebox上,显示内存不足
- Linux中关于JAVA调用C生成的.so动态链接库
- MFC创建动态链接库DLL并调用方法详解
- asp调用asp.net生成的动态链接库
- so动态链接库生成、调用