在写这篇文章之前,xxx已写过了几篇关于改方法文件主题的文章,想要了解的朋友可以去翻一下之前的文章

版权所有,载转请注明出处: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 here
try[notfound,warnings] = loadlibrary('libhelper.dll');arg = '';%arg = libpointer('stringPtr',buf);[a, buf2] = calllib('libhelper', 'get_machine_code', arg);unloadlibrary('libhelper');
catchcode = '';return;
endbuf = unicode2native(buf2, '');mac_buffer = repmat('0', 1, 64);
len = length(buf2);for i=1:lenc =  dec2hex(uint8(buf(i)));if length(c) == 1mac_buffer(i*2-1:i*2) = ['0' c];elsemac_buffer(i*2-1:i*2) = c;end
endif length(mac_buffer) > 32code = mac_buffer(1:32);
elsecode = mac_buffer;
end
end

调用方法:

>>
>> get_mac_id()ans =3F5E5DB9083770DA154D15A55431229C>>

文章结束给大家分享下程序员的一些笑话语录: 女人篇
  有的女人就是Windows虽然很优秀,但是安全隐患太大。
  有的女人就是MFC她条件很好,然而不是谁都能玩的起。
  有的女人就是C#长的很漂亮,但是家务活不行。
  有的女人就是C++,她会默默的为你做很多的事情。
  有的女人就是汇编虽然很麻烦,但是有的时候还得求它。
  有的女人就是SQL,她会为你的发展带来莫大的帮助。

方法文件Matlab调用动态链接库相关推荐

  1. 使用Matlab调用动态链接库dll

    1.下载.安装和配置环境变量MinGW-w64 C/C++ 1.1 下载网址 http://tdm-gcc.tdragon.net/download 1.2 默认地址安装 1.3 配置环境变量 新建系 ...

  2. matlab dll没有头文件,matlab调用dll没有头文件怎么办

    2018-12-08 回答 基于dll形式vc调用matlab函数方法 如果在一matlab中或vc中写好了函数的话,想在对方的环境中使用,直接将对方语言的函数编译成dll是一个很方便的方法,不需要重 ...

  3. matlab 如何调用mex文件,matlab调用mex文件报错

    尝试matlab调用c语言,已经编译出了.mexw32文件,无错误,调用此函数,matlab就崩溃,请大神帮忙看看吧! 提示错误如下: Stack Trace (from fault): [  0] ...

  4. Matlab调用动态链接库DLL文件

    环境:vs2015.Matlab2020 VS2015中建立工程, 建立工程如下两图所示 在头文件和源文件中分别添加头文件和源文件(代码如下所示) 头文件matdll.h文件 #pragma once ...

  5. matlab loadlibrary 没有头文件,Matlab调用Loadlibrary问题

    请教各位大俠 我使用Matlab从一个Labjack U3数据读取装置, 将某固定时间长度的电压数据读至档案中, 负责执行工作的m file(Stream.m), 有用到另一个m file(ljud_ ...

  6. MATLAB调用python文件以及调用.exe文件方法

    引言: 在编程的时候有这么一个需求,就是要用MATLAB去调用python文件以及调用python写好的功能函数. 配置环境: MATLAB 2017b: python 2.7x: 方法: 1.查看m ...

  7. 在matlab如何调用库函数,Matlab调用外部库函数方法和注意事项

    在MATLAB环境下访问外部函数的共享库文件,必须首先把该库文件加载到内存中.一旦加载成功,就 能直接在MATLAB中直接请求关于函数的任何信息.而当不再需要该库时,就应当及时把库文件从内存 中卸载以 ...

  8. Matlab生成动态链接库供C#调用

    Matlab生成动态链接库供C#调用 原文 http://www.cnblogs.com/chenyongblog/p/3156716.html 1.首先在Matlab中编写一个或几个.m文件 2.然 ...

  9. MATLAB调用C/C++函数的方法

    http://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-9510581626.24.ZO6sko&id=43401674106 精通MATLAB ...

最新文章

  1. 一文教你如何高效使用 IDEA !
  2. 简单明了区分escape、encodeURI和encodeURIComponent
  3. 2018 大湾区(深圳) .NET技术分享交流会 第一期
  4. LeetCode 1707. 与数组中元素的最大异或值(Trie树)
  5. 联影uEXPLORER全身扫描仪获FDA批准,2019年初将在美国上市...
  6. 笑谈ArcToolbox (5) 非我族类
  7. Linux文件压缩,解压常用命令
  8. php UUID 分布式生成用不重复的随机数方法
  9. 计算机网络 第七版-第七版第八章软件工程(含答案)
  10. JavaScript查找最长的公共前缀
  11. python不知道吃什么_一个人不知道吃什么?找出我做的一个人的食物
  12. 让国外买家秒回复的询盘模板示例
  13. 教你一步一步用 Node.js 制作慕课网视频爬虫
  14. 常见图片文件格式简析
  15. 下载文件、根据链接生成二维码
  16. WC2007 剪刀石头布【补集转化+比赛问题费用流】
  17. COOK100推荐:在家做新奥尔良烤翅的做法
  18. 【SSL】记录一次PEM转P12证书
  19. 『摆渡车 斜率优化dp及总结』
  20. 谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信

热门文章

  1. 修正《用Docker快速搭建Go开发环境》文章中的一处错误
  2. 面试题:为什么局部变量不赋初始值报错
  3. 在集合中根据条件来筛选数据
  4. 2、Task 使用 ContinueWith 而不要使用 Wait
  5. GROUP BY你都不会!ROLLUP,CUBE,GROUPPING详解
  6. React的组件模式 1
  7. php微框架 flight源码阅读
  8. IDEA基本使用及配置(2)
  9. 天河机场RFID技术应用浅析
  10. Python操作文件文档