Mex混合编程专题二:MEX Hello Word
VS2010中写mex入门级工程代码
接着上一篇文章的工程继续,如下代码:
#include "stdafx.h"
#include "mextest.h"
#include "mex.h"
#include <stdio.h> void hello()
{
printf("Hello World\n");
} void mexFunction ( int nlhs, mxArray *plhs[], int nrhs, const mxArray*prhs[])
{
hello();
}
将上面的代码都复制到mextest.cpp文件里面,把里面预生成的代码都覆盖掉。
项目右键,生成。
怎么样?出错了没?
没出错,恭喜你!
出错了?是不是“无法解析的外部符号错误呢?”,那就要记得去专题一里面看看2.a.2)了哦,看看是不是自己的工程和安装的matlab的lib文件不兼容,要保证工程了依赖的lib文件要么都是32位的要么都是64位的。
改变生成文件后缀
项目->右键->属性->常规,把目标文件扩展名由.dll改为.mexw64,当然,如果是32位程序就是.mexw32
VS2010中调试MEX
如何将matlab与vs2010捆绑起来调试程序是之前最大的困惑。在网上找资源,发现http://www.cnblogs.com/avril/archive/2012/09/12/2681192.html和http://www.cnblogs.com/lukylu/p/4042306.html说的都挺好的。在这来份图文版的。
Step1. vs2010-Tools-附加到线程 Attach to process-选择matlab(快捷键Ctrl+Alt+P)。
Step2. 选择Matlab
Step3. VS进入调试状态。在上面写的mextest.cpp相应位置处下断点。
Step4. 将matlab的current folder 设置成mex生成文件所在的路径。(这步非常重要,要不无法调试调用)
Step5. 调用的函数名就是dll的主文件名。在这个例子里面就是mextest.mex64。这样就在matlab命令行里面输入mextest,回车进入VS断点!
继续运行,matlab里面Hello word出现没?
:D
1. 任何单位或个人认为本博的内容可能涉嫌侵犯其合法权益,可以及时的联系我(olenet#126#com),我会立即更正或删除。
2. 欢迎转载,记得贴链接^_^。www.cnblogs.com/OleNet
Mex混合编程专题二:MEX Hello Word的更多相关文章
- Mex混合编程专题一:Mex环境搭建
使用Matlab时间长了,难免会碰到使用mex文件的经历,不管是别人的还是自己的,就比如MatConvNet(http://www.vlfeat.org/matconvnet/)使用了混合编程的技术实 ...
- [转] Matlab与C++混合编程,添加OpenCV库
原文地址 峰回璐转 最近在做运动医学软件优化工作,此款软件框架及算法语言全由matlab实现,虽然matlab矩阵运算.数值计算能力强大,但速度让人难以忍 受.软件立刻移植到C++上又不太实际,故采用 ...
- Matlab与C++混合编程,添加OpenCV库
最近在做运动医学软件优化工作,此款软件框架及算法语言全由matlab实现,虽然matlab矩阵运算.数值计算能力强大,但速度让人难以忍受.软件立刻移植到C++上又不太实际,故采用联合编程的方式,速度难 ...
- Matlab混合编程
Matlab混合编程 混合编程目的 在Matlab中采用混合编程目的主要包括 利用已有的函数库,避免重复工作 加速计算,特别是减少循环所用时间 利用GPU等进行异构编程 混合编程方法-mex函数 目前 ...
- matlab和C/C++混合编程--Mex
最近的项目需要matlab和C的混合编程,经过一番努力终于完成了项目要解决的问题.现在就将Mex的一些经验总结一下,当然只是刚刚开始,以后随着学习的深入继续添加.首先讲讲写Mex的一些常规规定,然后我 ...
- matlab和C/C++混合编程--Mex (六)参数传递
最近的项目需要matlab和C的混合编程,经过一番努力终于完成了项目要解决的问题.现在就将Mex的一些经验总结一下,当然只是刚刚开始,以后随着学习的深入继续添加.首先讲讲写Mex的一些常规规定,然后我 ...
- matlab和C/C++混合编程--Mex (转载)
matlab和C/C++混合编程--Mex 最近的项目需要matlab和C的混合编程,经过一番努力终于完成了项目要解决的问题.现在就将Mex的一些经验总结一下,当然只是刚刚开始,以后随着学习的深入继续 ...
- Matlab与C++混合编程(依赖OpenCV)
Matlab与C++混合编程实际上就是通过Matlab的Mex工具将C++的代码编译成Matlab支持调用的可执行文件和函数接口.这样一方面可以在Matlab中利用已经编写好的函数,尽管这个函数是用C ...
- matlab2016b和c# .net4.0混合编程
参考:https://www.cnblogs.com/eniac12/p/4390845.html 主要想用c#写软件界面,利用matlab绘图,或者用里面的遗传算法. 我的环境是:Win10 64位 ...
随机推荐
- Android ijkplayer 强大的视频播放器框架教程 -- 导入demo运行(一)
首先介绍下这个开源项目,这个开源项目是BiliBli 开源的,首先感谢他们的团队. 这是开源的地址: https://github.com/Bilibili/ijkplayer 首先我为什么要选这个, ...
- Swift_4_闭包(Blocks)
import Foundation println("Hello, World!") var arr = [1,2,4,6,74,2] func hasClosure(list:[ ...
- ios 手势返回<1>
极其简单取巧的方法 iOS7之后是有侧滑返回手势功能的.注意,也就是说系统已经定义了一种手势,并且给这个手势已经添加了一个触发方法(重点).但是,系统的这个手势的触发条件是必须从屏幕左边缘开始滑动.我 ...
- AngularJS form $addControl 注冊控件control
需求背景: 在form中使用编写的某component directive时.想通过form's name来对form中控件进行操作, 如使用$invalid等来ng-disabled btn. 解决 ...
- Nodejs通过thrift访问Java服务
上一篇文章中实现了用Java作为thrift客户端和服务端.接下来我们用nodejs作为客户端访问一下.Nodejs的安装可以查看http://www.cnblogs.com/xucheng/p/39 ...
- swagger api 文档框架
<其他教程:https://www.cnblogs.com/FlyAway2013/p/7510279.html> 先看看swagger的生态使用图: 其中,红颜色的是swaggger官网 ...
- ArcGIS API for javascript Bookmarks(书签)示例2
1.运行效果图 说明:这篇博文介绍的书签位于地图之上 有关博文中引用的API文件 怎么iis上部署,请参考我前面的博文 2.HTML代码 <!DOCTYPE html> <html ...
- 在安装mysql数据库的过程中,显示msvcp100.dll丢失?则么办?
方案一:重装操作系统为windows10专业版 方案二:问题: 解答: 报错原因是VC运行库不全或者没有安装导致,百度搜索VC集合下载安装, 链接:https://pan.baidu.com/s/1U ...
- 我的Java开发学习之旅------>Java 格式化类(java.util.Formatter)基本用法
本文参考: http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html http://www.blogjava.net/ ...
- Django继承HTML模板
Django在渲染模板的过程中可以实现模板样式的继承,以减少重复的代码 1.extend继承 模板.html: 模板内容 {{% block name1 %}} {{% enfblock %}} #n ...