您的位置:首页 > 编程语言 > C语言/C++

Visual C++.net 2003 与Matcom4.5混合编程

2008-09-07 17:11 399 查看
Visual C++.net 2003 与Matcom4.5混合编程
引言
目前关于vc++与Matcom4.5混合编程的文档均为Visual C++ 6.0的,而Visual C++.net 2003与Visual C++ 6.0在设置上有一定的区别,因此本文总结了在编程过程中对Visual C++.net 2003的设置过程做了一个总结,希望对大家有一定的参考价值。
Matcom4.5的安装

1.1安装之前,首先在matlab的安装目录下建立文件夹:/bin/toolbox/matlab/general。(此步不需工----Eric)Matcom4.5在安装时需要你输入口令,Matcom4.5的口令为FREE-4.5-1193046-80295111。
1.2安装完成后,mideva在window的注册表中HKEY_CURRENT_USER/Software/MathTools/Matcom/4.50/License/下面添加一个键,键名默认,键值为FREE-4.5-1193046-80295111。(此步也不需要----Eric)你如果删除它,再次启动matcom的时候,就会再次询问口令。不过好在如果通过这个口令之后,程序发布时就不再有限制了,也就是在这个注册后的系统中编译的程序,发布时就不用代一个注册文件了。
1.3第一次运行时,MATcom4.5自动搜索VC编译器并提示用户是否安装,之后提示是否安装有MATLAB,回答安装后,如果没有建立文件夹/MATLAB701/bin/toolbox/matlab/general,则发生错误。手动建立文件夹,再重新启动MATcom4.5即可。
(2)Visual C.net 2003环境设置。   
在Visual C.net 2003中的"工具/选项/项目/vc++目录中
包含文件-》,添加Matcom4.5安装目录中matlab.h的路径
库文件-》添加Matcom4.5安装目录中v4501v.lib的路径
(3)修改vc.net源代码。  
3.1 建立一个mfc单文档工程如“test”
 
3.2在stdafx.h中添加
#include "matlib.h"
#ifdef _DEBUG
#pragma comment(lib, "v4501v.lib")
#else
#pragma comment(lib, "v4501v.lib")
#endif

3.3在CtestView.h类声明中
protected:下添加
bool init;
3.4CtestView.cpp
的构造函数添加如下代码
CtestView::CtestView()
{
// TODO: 在此处添加构造代码
init=false;
}
在其成员函数OnDraw中添加如下代码
if (!init) {
initM(MATCOM_VERSION);
Mm h = winaxes(m_hWnd);
//------------实例程序可自行添加代码―――――――――――
axesposition(10,10,300,180);
plot((CL(magic(20+40*rand()))));
title((CL(TM("Random plot"))));
xlabel((CL(TM("This is the x axis"))));
ylabel((CL(TM("This is the y axis"))));
set(h,(CL(TM("Color")),TM("white")));
set(h,(CL(TM("Box")),TM("on")));
//------------―――――――――――――――

init=true;
}
drawnow();
结束 
这样一个简单的Visual C++.net 2003 与Matcom4.5混合编程的框架就大好了,由于本人只是有限,难免有不足之处,欢迎讨论。
本文参考了一下两篇文档
Eric
http://blog.csdn.net/Radical608/archive/2008/06/01/2469983.aspx
CteX
http://blog.csdn.net/CTeX/archive/2005/10/16/504933.aspx
在次一并表示感谢。
祝编程愉快,呵呵
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: