文件由matlab的m文件生成动态链接库的方法说明

无法定位程序输入点于动态链接库上  时间:2021-02-27  阅读:()

由MATLAB] .m文件生成动态链接库的方法说明

李知践

1 .把MATLA编译器(MATLAB Compl ier:mcc)集成到VC6.0中第一步在安装MATLAB寸要安装MATLA%译器(MATLAB Compl ier )。

第二步在M AT LA临令提示符>>或者D O S命令框中键入命令mex -setup

进行编译环境选择 VC6.0O

第三步在M AT LA临令提示符>>或者D O S命令框中键入命令mbui ld -setup

进行编译环境选择 VC6.0O

第四步在M AT LA临令提示符>>键入命令prefd ir

显示用户preference 目录位置。

第五步在M AT LA临令提示符>>键入命令mccsavepath

然后将MATLAB勺work目录中的mccpat h文件拷贝到用户prefere nce目录中。 保存Compl ier的路径信息。

第六步如果使用的是Wi ndows98,要在你的config.sys文件中加入一行shel l=c:\command.com/e:32768/p

第七步在VC6.0的Tools->Customize->Add-ins and Macro选中MATLAB add-in forVisual Studio 。将会出现MATLAB add-in for Visual Studio工具栏。同时MATLAEB在VC6.0的Wizard中新增了一项 MATLAB Project Wizard

2.MATLAB Project Wizard的使用方法

第一步在VC6.0中选取Fi le->New->MATLAB Project Wizard 建立一个新项

目。^Cluster Resource[ype Wizard

^Custom A叩Wizard

矗IQAE Cjdcnsion V/iznrd r^Ms kefilc

TLAB Project Wizard

MFC ActiveXuontrol'A/iTard t*CiRate Ewwr通MFCAppWi加rd(dl l)gjMFC fAddtoGurrcnf

Tl Uti l ity Project

"Win32 ApplicationnWin32 Console Appl ication

OK第二步在MATLAB Project Wizard中选择项目的应用类型:

共有五种类型可供选择

C-MEX DLL

M-MEX DLL

Windows Console EXE

Share M-DLL

Simul ink C S-Function

选择Share M-DLL来建立Windows动态链接库。第三步选择.m文件

1 ihl-s i%thp autput Fran t imn PlMRI> clo^p this windnui aft-------------------------------tCC/MFX BFCTH ■ice -It F\M¥ tinCLlMENfS\11iX

m=r"_Genera ting Fi le ahi1-1 -11111- ti^nprating Fi le ,p111 .fr^ports&・n«MFtlngi fi "111 Hri l insl\FxMiitinigrnvwmci  nhui 14gThisi 宰nfcmi 1 diCnpiyirighit侦

->ibei aultaptlnri isf i lerianr

■■■■■■一■一■■■■■■■」 ■■ ■—iM■■■■■■ .M.■

 ;-> Oplrinni Fi l?

-> CttHPILFR

-> Conpi L?rflags:

UUMPFEGS UP”懵1_础§btlJUHrLAUS Argijnrnt<Hmi iF^iritrh-> Pre-l inking ronnAnds

-> LUNKLN

> Link directiueg

LlMMHAGS LIWFI AGSPUST KamF dl irpcti UPFi le l inkdirectiUP Lib_l ink difEiztive R^p-Fi l^ indical-nr:-> R^«kOiJrep Cnepi l#r

-> R^saurcp I -|nk*i-

加入的.m文件和由它生成的C文件

第四步: 对VC6.0编译环境进行配置头文件、库文件的路径、链接导入的静态库。

Ed血r |Tabs|Debug|Compatibi l ity|Bui ld Di iedories|V/orksi |~7

Phtfurm: STiuw dire Tories fui;

|\Vi i iJi2 |Library fi le%

Hirectories 芒i X• 1

C^Ptoaram Fi lEs\Microsufl Visual Studio\VC^8\UB

.史;义峋迥MF.C'L旧. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

AILABbP5\tXrtRN\lr IMATI AR GP5\FXTE R N\l I R\WI N3?\M IRft 0 SO F1\M SVC

JJIl^JBI IItKl ll lBtJIIH IMU Iil ll«a l ll lBSJ II IJL^U IUlUaBI II LUIl ia#

O< Cancel导入C:\MATLAB6p5\extern\l ib\win32\microsoft\msvc60 中的静态库第五步:编译、链接建立动态链接库 DLL文

件。

Eatch Build.,.

Clean

Start Dabug

第六步若要在项目中添加新的 .m文件可作用MATLAB add-in for Visual Studio工具栏中的第一个按钮。

3.如何在白己的程序中使用.m文件生成的动态链接库

以C:\MATLAB6p5\toolbox\images\images\mean2.m 为例建立的项目名为mean2d。生成了mean2d.dl l文件和mean2d. l ib文件。

第一步如前面所述对VC6.0编译环境进行配置头文件、库文件的路径、链接导入的静态库。并在导入的静态库中添加 mean2d. l ib文件。

第二步在自己应用程序项目的头文件中加入以下代码

#include"matlab.h"extern "C"__declspec(dl l import)mxArray*mlfMean2(mxArray*x);extern "C"__declspec(dl l import)void mean2dnitial ize();extern "C"__declspec(dl l import)void mean2dTerminate();

第三步在要使用mean2函数的文件中加入以下代码

#include"matlab.h"

#include"matrix.h"

〃声名两矩阵并初始化m xArray*A,*b;

A=NULL;b=NULL;

//由D旧文件头信息得到图像的行列数int col=m_dibFile.m_lpBMIH->biWidth;int row=m_dibFile.m_lpBMIH->biHeight;

〃以图像行列数的大小建立矩阵A,8位无符号数

A=mxCreateNumericMatrix( row,col ,mxUINT8_CLASS,mxREAL);

〃建立一个标量b大小为2.0mlfAssign (&b,mlfScalar(2.0));

//将DIB文件的图像数据拷贝到矩阵Amemcpy(mxGetPr(A),m_dibFi le.m_lpImage,row*col*sizeof(BYTE));〃计算均值b=mlfMean2(A);

〃将结果拷贝出来

doublereslt;memcpy(&reslt,mxGetPr(b),sizeof(double));

〃销毁矩阵mxDestroyArray(A);mxDestroyArray(b);

〃显示结果

CString info;info.Format(”图象的均值为 f", reslt);

AfxMessageBox(info);

第四步在使用mean2函数的构造函数和析构函数中分别加入下列代码

〃在构造函数中mean2dnitial ize();

〃在析构函数中mean2dTerminate();

第五步将mean2d.dl l文件和mean2d. l ib文件拷贝到你的应用程序项目目录中。

第六步编译链接运行应用程序。

4.发布程序

在没有安装M AT LA曲计算机上 以上程序是无法正常运行的。好在 M AT LAB务其所有的运行库打包成了一个自解压文件。 C:\MATLAB6p5\extern\l ib\win32\mgl instal ler.exe

在没有安装MATLAB的计算机上运行mgl instal ler.exe 它解压出两个目录 bin和toolbox。你只要把bin\win32 加入到计算机系统变量 PATH中即可。

云俄罗斯VPSJusthost俄罗斯VPS云服务器justg:JustHost、RuVDS、JustG等俄罗斯vps主机

俄罗斯vps云服务器商家推荐!俄罗斯VPS,也叫毛子主机(毛子vps),因为俄罗斯离中国大陆比较近,所以俄罗斯VPS的延迟会比较低,国内用户也不少,例如新西伯利亚机房和莫斯科机房都是比较热门的俄罗斯机房。这里为大家整理推荐一些好用的俄罗斯VPS云服务器,这里主要推荐这三家:justhost、ruvds、justg等俄罗斯vps主机,方便大家对比购买适合自己的俄罗斯VPS。一、俄罗斯VPS介绍俄罗斯...

PQ.hosting全线9折,1Gbps带宽不限流量VPS/€3/月,全球11大机房可选

Hostadvice主机目录对我们的服务进行了测试,然后给PQ.hosting颁发了十大WordPress托管奖。为此,宣布PQ.Hosting将在一周内进行折扣优惠,购买和续订虚拟服务器使用优惠码:Hostadvice ,全部优惠10%。PQ.hosting,国外商家,成天于2019年,正规公司,是全球互联网注册商协会 RIPE 的成员。主要是因为提供1Gbps带宽、不限流量的基于KVM虚拟的V...

Sharktech10Gbps带宽,不限制流量,自带5个IPv4,100G防御

Sharktech荷兰10G带宽的独立服务器月付319美元起,10Gbps共享带宽,不限制流量,自带5个IPv4,免费60Gbps的 DDoS防御,可加到100G防御。CPU内存HDD价格购买地址E3-1270v216G2T$319/月链接E3-1270v516G2T$329/月链接2*E5-2670v232G2T$389/月链接2*E5-2678v364G2T$409/月链接这里我们需要注意,默...

无法定位程序输入点于动态链接库上为你推荐
手游运营手册堡垒之夜新武器是什么 堡垒之夜新武器介绍图文解析bbsxp老大!!您好!我是初学者!请问我的bbsxp如何更改顶端左面的LOGO??金山杀毒怎么样用金山毒霸杀毒好吗?flash导航条如何制作flash导航条渗透测试web渗透测试有前途吗依赖注入请问下依赖注入的三种方式的区别微信如何建群微信可以建立两个人的群吗?有一个是自己arm开发板arm开发板是干什么用的,是用在什么领域方面的正则表达式javajava正则表达式镜像文件是什么什么叫镜像文件,作用是什么?
虚拟主机代理 上海vps 2014年感恩节 idc测评网 东莞数据中心 服务器是干什么的 国外免费asp空间 最漂亮的qq空间 申请网站 dnspod lamp是什么意思 xuni 广东主机托管 博客域名 空间排行榜 server2008 asp.net虚拟主机 vim 装修瓦工培训 电脑主机声音大 更多