⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档.txt

📁 将一个m文件转成c /cpp文件并在VC中进行编译。这种方法有个烦人的地方
💻 TXT
字号:
不生成cpp文件交给VC去编译,而是直接在m 
atlab中生成一个dll交给VC去链接即可。这样无论matlab生成多少文件,都只需要拷贝三 
个文件即可。 


1.     建一个m文件,内容为:(我特意在这个程序中演示图像显示,参数传递与返回) 
  
%%%%%%%%%%%%%%%%%%%%%%  
function result=fork_2(para)  
x=[1 para 3];  
y=[1 3 1];  
plot(x,y);  
result=para*2; 
%%%%%%%%%%%%%%%%%%%%%%  
    保存后在命令窗口中:  
    输入:(格式:mcc -t -W libhg:<自己起个名字> -T link:lib -h libmmfile.mlib 
  libmwsglm.mlib 文件名)  
    mcc -t -W libhg:fork2 -T link:lib -h libmmfile.mlib  libmwsglm.mlib fork_2 

    然后你会在你的工作目录下找到fork2.dll,fork2.lib,fork2.h三个文件。  
2.  在VC中建一个基于对话框的MFC应用程序,名字为testFork2,添加一个  
    按钮,并添加按钮响应函数,函数内容在第五步中说明。将上面生成的  
    3个文件拷贝到VC工程的testFork2目录里。  
3.  在VC中选择:工程--->设置,再选属性表Link选项,下拉菜单中选择Input,  
    在对象/库模块中加入附录A中所列出的内容,注意用空格将它们格开而在忽略  
    库中加入附录B中列出的内容;再选择属性表C/C++选项,下拉菜单选General,  
    在预处理程序定义中添加附录C中的内容,原来有的内容要保留,并注意用逗号  
    将它们隔开。再选择下拉菜单的Precompiled Headers选项,选择“自动使用预  
    补偿页眉”,在其中添加stdafx.h ,确定。  
4.  选择:工具--->选择,属性页选择“目录”,在include files里面加入:  
          C:\MATLAB6P5\EXTERN\INCLUDE  
          C:\MATLAB6P5\EXTERN\INCLUDE\CPP  
          注意,根据你的matlab的安装位置的不同,要相应的修改上面的地址。  
          在Library files里面加入:  
          C:\MATLAB6P5\EXTERN\LIB\WIN32  
          C:\MATLAB6P5\EXTERN\LIB\WIN32\MICROSOFT\MSVC60  
          注意,根据你的matlab的安装位置的不同,要相应的修改上面的地址。  
5.  在按钮响应函数所在文件中添加如下的头文件:  
    ......  
    #include "fork2.h" 
    ......  
    函数响应代码为:  
    mxArray* para=mxCreateDoubleScalar(2); 
    mxArray* result; 
    fork2Initialize(); 
    result=mlfFork_2(para); 
    CString str; 
    str.Format("%f",mxGetScalar(result)); 
    AfxMessageBox(str); 
6.  在第三步中提到的Link---->Input选项中加入一项:fork2.lib 
7.  编译,连接,执行,一切OK! 

附录A:链接库  
libmmfile.lib libmatlb.lib libmx.lib libmat.lib libmatpm.lib   
sgl.lib libmwsglm.lib libmwservices.lib libut.lib 

附录B:忽略库  
msvcrt.lib  

附录C: 预处理程序定义  
MSVC,IBMPC,MSWIND  

附录D:进一步参考  
mxArray的使用参考matlab网站的cmath_ug2b.pdf 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -