Matlab调用动态链接库
来源:互联网 发布:淘宝卖家怎么删除宝贝 编辑:程序博客网 时间:2024/05/21 14:51
版权所有,转载请注明出处:http://guangboo.org/2013/05/02/matlab-dll-file
Matlab的优势就是矩阵计算,大量的算法库等,对于非矩阵计算来说可能就没有多高的性能和优势。Matlab支持使用C语言和Fortan编写扩展,这样就可以弥补Matlab不擅长的部分。有些时候我们需要在Matlab中调用已有的dll,避免写C扩展。
比如需要在matlab中获取机器码,而这个机器码的获取方法是现成的,只是这个方法是使用C编写的,并已经编译成libhelper.dll文件里。那么我们就可以这些编译一个get_mac_id的函数,来调用该dll中的函数get_machine_code的方法。
需要有libhelper.h文件,该头文件要包含get_machine_code函数的声明,如:
int __stdcall get_machine_code(char *buf);
libhelper.h头文件是必须的,并且文件名也要和dll文件名一致。然后可以编写m文件get_id.m,如下:
function code = get_mac_id()%GETID Summary of this function goes here% Detailed explanation goes heretry [notfound,warnings] = loadlibrary('libhelper.dll'); arg = ''; %arg = libpointer('stringPtr',buf); [a, buf2] = calllib('libhelper', 'get_machine_code', arg); unloadlibrary('libhelper');catch code = ''; return;endbuf = unicode2native(buf2, '');mac_buffer = repmat('0', 1, 64);len = length(buf2);for i=1:len c = dec2hex(uint8(buf(i))); if length(c) == 1 mac_buffer(i*2-1:i*2) = ['0' c]; else mac_buffer(i*2-1:i*2) = c; endendif length(mac_buffer) > 32 code = mac_buffer(1:32);else code = mac_buffer;endend
调用方法:
>> >> get_mac_id()ans =3F5E5DB9083770DA154D15A55431229C>>
- Matlab调用动态链接库
- c++ 调用matlab 动态链接库
- C#调用matlab动态链接库
- 【c#】C#调用matlab动态链接库
- VC调用MatLab生成的动态链接库
- vc++调用MATLAB complier生成的C动态链接库
- C#调用matlab写的动态链接库(dll)
- vc调用matlab动态链接库的文件头设置
- asp.net下调用Matlab生成动态链接库
- asp.net下调用Matlab生成动态链接库
- C#调用matlab写的动态链接库(dll)
- matlab封装DLL动态链接库 再用VS2010调用(matlab VS混合编程)
- matlab封装DLL动态链接库 再用VS2010调用(matlab VS混合编程)(转载)
- Linux下动态链接库的创建和使用及C调用matlab动态库问题
- Linux下动态链接库的创建和使用及C调用matlab动态库问题
- vc++调用MATLAB complier生成的C动态链接库(画图)
- vc++调用MATLAB complier生成的C动态链接库(输入参数为字符类型)
- VC++中调用MATLAB *.m函数编译后的动态链接库
- 时隔三年
- Croc Champ 2013 - Round 2 Div. 2 D
- UESTC 1823 In Galgame We Trust 模拟
- WCF上传文件方法总结
- UVA 378 Intersecting Lines POJ 1249【直线位置情况简单判定】
- Matlab调用动态链接库
- PHP 折半查找(二分查找) 递归与非递归法
- AIX6.1上单实例oracle 11.2.0.3.0 升级到 11.2.0.3.4
- 提取ipa里面的资源图片
- 杭电2034
- what is programming?
- TrustZone技术简介
- 基于PyQt4和PySide的输入对话框
- poj2255 给出二叉树前中求后序遍历