c读取mat文件,并调用m生成的dll中的函数,函数返回值保存为mat文件
2015-11-27 21:58
267 查看
c读取mat文件,调用dll函数,返回值写入mat文件,mxArray内存管理松散,需要最后销毁。
#include "stdafx.h"
#include <stdlib.h>
#include "mat.h"
#include <iostream>
#include "libAutoExtract.h"
#include <fstream>
#pragma comment(lib, "mclmcrrt.lib" )
#pragma comment(lib,"libAutoExtract.lib")
using namespace std;
int main()
{
MATFile *pmat = NULL;
MATFile *pmatFile = NULL;
const char *file;
mxArray *pa;
if (!libAutoExtractInitialize())
{
cout << "Could not initialize" << endl;
return -1;
}
file = "E://alogrithmprogramming//C++//cmatdll//cmatdll//Y.mat";//读入初始数据
pmat = matOpen(file, "r");
if (pmat == NULL) {
cout << "Error opening file" << endl;
return 1;
}
pa = matGetNextVariable(pmat, &name);//返回指向文件头文件信息的指针,指针类型为*mxArray;
mxArray* FV;
FV = NULL;//必须初始化
mlfAutoextract(1,&FV, pa);//m文件生成的dll的函数
// 生成.mat文件
pmatFile = matOpen("A.mat", "w");
matPutVariable(pmatFile, "A", FV);
mxDestroyArray(pa);
mxDestroyArray(FV);
matClose(pmatFile);
matClose(pmat);
libAutoExtractTerminate();
//system("pause");
return 0;
}
#include "stdafx.h"
#include <stdlib.h>
#include "mat.h"
#include <iostream>
#include "libAutoExtract.h"
#include <fstream>
#pragma comment(lib, "mclmcrrt.lib" )
#pragma comment(lib,"libAutoExtract.lib")
using namespace std;
int main()
{
MATFile *pmat = NULL;
MATFile *pmatFile = NULL;
const char *file;
mxArray *pa;
if (!libAutoExtractInitialize())
{
cout << "Could not initialize" << endl;
return -1;
}
file = "E://alogrithmprogramming//C++//cmatdll//cmatdll//Y.mat";//读入初始数据
pmat = matOpen(file, "r");
if (pmat == NULL) {
cout << "Error opening file" << endl;
return 1;
}
pa = matGetNextVariable(pmat, &name);//返回指向文件头文件信息的指针,指针类型为*mxArray;
mxArray* FV;
FV = NULL;//必须初始化
mlfAutoextract(1,&FV, pa);//m文件生成的dll的函数
// 生成.mat文件
pmatFile = matOpen("A.mat", "w");
matPutVariable(pmatFile, "A", FV);
mxDestroyArray(pa);
mxDestroyArray(FV);
matClose(pmatFile);
matClose(pmat);
libAutoExtractTerminate();
//system("pause");
return 0;
}
相关文章推荐
- 我新建的小网站
- Java多线程-两个小球
- ASP.NET WebAPI 13 Filter
- React 入门实例教程
- 控制器的view的创建
- 网络多线程-pthread的使用
- ping
- des工具类
- 包装类
- 绝对路径和相对路径---速记
- 计算—工厂模式模式(练习)
- SaltStack(一)-- SaltStack介绍及CentOS 6.7安装SaltStack
- merker—hellman背包加密的C语言简单实现
- NP完全问题
- OC--第一周精华
- JavaScript设计模式 - 策略模式
- Linux内核中链表的学习
- 网络多线程下载图片(SDWebImage)
- python基础概念总结
- Swift学习笔记(四)