VS2010+matlab2012b环境下C++写MAT文件
本人乃C++白痴一枚,今需将一个int数组用mat文件保存,奋战半日有余,终成。恐日后遇类似情况无所从,故而留下此文,待日后查询。
PS:工程设置,亲测,http://blog.csdn.net/left_la/article/details/8206645给出的步骤完全没错,以下为详细过程。
我的计算机环境是win7 64位系统,VS2010,matlab R2012b。
一、工程配置:
1.C/C++->常规->附加包含目录 添加:
MATLAB\R2010b\extern\include
MATLAB\R2010b\extern\include\win64
2.链接器->常规->附加库目录 添加:
MATLAB\R2010b\extern\lib\win64\microsoft
MATLAB\R2010b\extern\lib\win32\microsoft
3.链接器->输入->附加依赖库 添加:
libmat.lib
libmx.lib
libmex.lib
libeng.lib
由于所安装的matlab为64位,要调用其函数,需要将工程转换为X64
4.顶菜单->生成->配置管理器->平台:X64
5.链接器->高级->目标计算机:
MachineX64(/MACHINE:X64)
6.计算机环境变量->path 添加:
E:\DevTools\MATLAB\R2010b\extern\lib\win64\microsoft;
E:\DevTools\MATLAB\R2010b\bin\win64;
代码部分:
包含头文件:
#include <matrix.h>
#include <mat.h>
写文件:
MATFile *pmatFile = matOpen(matName,"w");
mxArray *pMxArray = NULL;
pMxArray = mxCreateDoubleMatrix(N, M, mxREAL);
double* datas = NULL;
datas = (double*)mxMalloc(N*M*sizeof(double));
mxSetData(pMxArray, datas);
matPutVariable(pmatFile, "datas", pMxArray);
matClose(pmatFile);
要注意的是:
void mxSetData(mxArray *pm, void *pr);
中
pr指Pointer to an array. Each element in the array contains the real component of a value. The array must be in dynamic memory; call mxCalloc to allocate this memory.
动态分配,调用mxMalloc乃关键。
mxMalloc申请的内存,无需mxFree,亦无需free,系统自将释放。
转载于:https://www.cnblogs.com/qingliu411/p/3327168.html
VS2010+matlab2012b环境下C++写MAT文件相关推荐
- .NET 容器环境下创建应用 dump 文件
.NET 容器环境下创建应用 dump 文件 Intro 有时候我们的应用会出现一些异常的情况,比如内存飙升,线程死锁等等,通过一些 metrics 我们可能大概的了解内存是增长了,但是具体是哪里增长 ...
- 在windows环境下ftp服务器的文件上传和下载
在windows环境下ftp服务器的文件上传和下载 mo 一.上传本地文件 第一步:登录FTP服务器.在开始菜单中输入cmd,回车进入.输入ftp进入服务器,输入命令格式:open FTP服务器地址 ...
- 堡垒机如何传输文件_堡垒机环境下使用putty传输文件
堡垒机环境下使用putty传输文件 发布时间:2018-11-14 21:10, 浏览次数:1167 , 标签: putty 本文参考: https://www.cnblogs.com/bamanzi ...
- 关于tomcat环境下上传大文件遇到的问题及解决办法
转载自:http://blog.csdn.net/tqwwilliam/article/details/7108247 问题描述: 关于tomcat环境下上传大文件遇到的问题及解决办法 解决方案: 1 ...
- 【数据分析day05】Scipy读/写.mat文件,wav,mp3
Scipy文件输入/输出,wav,mp3 读写.mat 文件 写入 .savemat() 读取 .loadmat() wav 读 wavfile.read() 拼接 np.vstack() 写 wav ...
- linux 普通用户退出vim,Linux环境下VI/VIM编辑文件时无权限保存的解决方法(普通用户)...
在Linux环境下,如果直接使用VI/VIM命令编辑没有修改权限的文件时,保存的时候就会提示用户无法进行保存操作,一般的解决方法只能是关闭文件重新以sudo权限打开该文件编辑后再保存(前提是用户具有s ...
- win10环境下c语言打开文件失败,cfile fopen fopen_s win10下打开文件失败
vc程序在win10下面使用fopen 打开文件失败,在网上查 了下是因为UAC权限的问题如下: 由于windows vista win7 win8 win 10 添加了UAC权限,所以会导致 在系统 ...
- RAC环境下创建本地数据文件的解决方法
引用收藏:http://blog.itpub.net/501889/viewspace-1083311/ 同事不小心,在RAC环境下创建了本地数据文件,这个肯定会出问题的,节点2不能访问此数据文件.其 ...
- IIS+php环境下:上传文件出现:windows server PHP Warning: mkdir(): Permission denied 解决办法
PHP Warning: mkdir(): Permission denied:解决办法 最近买个了腾讯云服务器(windows server 2012 r2)配置了个iis+php+mysql的网站 ...
最新文章
- ii第六单元 文本处理工具
- php session获取不到的解决方法
- 安装 ArcGISAPI31forSilverlight an i/o error occured while installing a file错误解决
- 【转】贴片电阻的工作寿命
- 方法区如何判断是否需要回收
- java中的操作符(位操作符>>与>>>的区别)
- Loj#6053-简单的函数【Min25筛】
- lda php,主题模型︱几款新主题模型——SentenceLDA、CopulaLDA、TWE简析与实现
- jQuery 1.11 / 2.1 beta 版发布
- cte公用表表达式_SQL Server中的CTE; 使用公用表表达式解决重新编制标识符列的问题
- 2018百度之星程序设计大赛初赛B——1004p1m2
- 林郑月娥冀香港发挥连接中外优势发展创科
- android 调用百度地图客户端,
- EDG夺冠引全网欢呼,电竞时代要来了吗?
- BLE广播包4种类型
- java 基本语法
- kubectl源码分析之config delete-context
- (附源码)SSM医疗健康查询系统JAVA计算机毕业设计项目
- Go语言学习教程(二)
- c语言自动填表chrome网页,教你设置Chrome浏览器里的自动填表功能
热门文章
- 螺旋矩阵 IIPython解法
- 与、或、短路或、自增、自减、的执行过程
- IntelliJ IDEA scala的源码设置
- linux如何执行平台,如何在Linux平台运行HelloWorld及测试项目
- 样条曲面_这样的曲面是如何画成的,用好剪裁工具,便迎刃而解
- java综合项目推荐,推荐20个5月最热门的Java开源项目
- 服务器虚拟交换机到网卡不通,S7700堆叠,服务器之间相互ping不通,关闭备交换机ping正常...
- 去掉a标签下划线_条码软件如何修改条码标签的字体格式
- 这位电子工程师,你不能错过。
- python中填充颜色结束的程序_在ttk/python中更改标签小部件的填充颜色