Matlab调用C/C++之设置过程
来源:互联网 发布:mac 打开系统文件夹 编辑:程序博客网 时间:2024/06/05 02:57
Matlab在进行矩阵计算时的优势非常明显,但是当Matlab遇到for循环的时候,程序的运行速度就会很慢。学会用Matlab调用C/C++的程序很有必要。折腾了快一天了,终于算是弄好了。
准备工作:
(1)安装Matlab 2012b。
(2)http://cn.mathworks.com/support/compilers/R2012b/win64.html 下载Microsoft Windows SDK 7.1 并安装。记住你的安装路径,我的如下:
过程:
1、打开Matlab,在命令窗口输入“mex -setup”,如图所示:
2.如果默认路径下的编译器,选择“y”;我在这里选择了“n”,输出了适合该版本的Matlab的编译器。
3、选择你想使用的编译器编号,我这里选择的是“11”。
在“ Do you want to use this compiler [y]/n?”处选择n。
在“Please enter the location of your compiler: [C:\Program Files (x86)\Microsoft Visual Studio 10.0]”后面输入你的路径并回车。我输入的是“ [C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A]”。
额,结果还是不行。。
4、接着试,输入“mex -setup”后,再接在选择“y”,看是否有可以被识别的编译器。结果有了,哈哈哈。。
5、测试一下
将一下代码写入“hello.c”,并保存到当前目录。
#include "mex.h" void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {int i; i=mxGetScalar(prhs[0]); if(i==1) mexPrintf("hello,world!\n"); else mexPrintf("大家好!\n"); }
6、运行结果如下:
当输入“mex hello.c”后,目录下多了个文件“hello.mexw64”,这个文件是干嘛的,嘿嘿,我也不知道。。。反正可以运行了,,,
好吧,好吧,我承认我是不对的了,我不知道“mex”是干嘛的,也不知道为什么要这么做,也不明白hello.c中的函数头。。。
知其然而不知其所以然,是很大的弊病,那个,我下篇文章补充。。
一想到我那个蜗牛速度的代码要飞起来了,我就忍不住的激动ing。。。额,又想多了,那段C++版本的代码还没有写。。
(参考 matlab中调用c++函数)
- Matlab调用C/C++之设置过程
- Matlab与C/C++联合编程之Matlab以MEX方式调用C代码(五)完整过程加示
- C语言调用Matlab
- matlab调用C文件
- Matlab调用c程序
- C#(VS2008)调用Matlab
- MATLAB调用C程序
- C调用MATLAB函数
- matlab调用C代码
- matlab调用c dll
- Matlab调用c文件
- Matlab调用C程序
- matlab调用c程序
- matlab调用C语言
- matlab调用C程序
- C/C++调用matlab
- c语言调用matlab
- matlab调用C程序
- 内部类的四种用法
- ios之TableViewCell重用机制避免重复显示问题
- 静态数码管显示0-F
- postgresql异步流复制Hot Standby
- 基于jquery的循环左右滚动和上下滚动效果
- Matlab调用C/C++之设置过程
- 哈弗曼编码
- Delphi 关于DLL中使用TThread类或其子类的使用注意事项
- xamarin
- GridViewActivity gridview显示时的动画
- 远程桌面无法使用剪切板的有效解决方法
- JAVA分组以及JAVA分页
- Java性能优化
- Hadoop Hive sql语法详解