matlab混合C++编程有几种方式;mex是其中一种;

新建一个cpp文件如下;函数有四个参数是mex规定的;下面函数功能只是输出hello world!;文件名test.cpp;

#include "mex.h"void mexFunction(int nlhs,mxArray* plhs[],int nrhs,mxArray* rhs[])
{printf("hello world!");
}

matlab的版本路径自己看;先使用一个早一些的版本来试一下;建议使用正版;

输入 mex xxx.cpp 可编译C++文件;先操作一下,如下;提示找不到cpp文件;

把文件放到当前工作目录就对了;matlab的work目录;

再编译,可以找到源文件;但是不成功;matlab并不自带VC或GCC类的编译器;需要安装VC或GCC,然后在matlab设置C++编译器;

本机安装有CFree,带有gcc和g++;按网上资料,输入mex -v 命令设置编译器路径;如下;不成功;初次使用,还不太了解;

查一下资料;还有mex -setup命令;操作如下图;

出现Compiler: 提示符时,只能在0和1之间选择;当前matlab找不到GCC;自己随便输个GCC是没用的;

只能选择matlab自带的lcc编译器;这应该是一个超小型的C编译器;先选择lcc;lcc不支持C++;

执行 mex test.c;

出现4个重定义错误;

查资料,代码改为如下;还不太清楚这么改的理由;

#include "mex.h"void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{printf("hello world!");
}

再执行 mex test.c;成功;

在工作目录下多出一个test.dll,并标明是mex-file;

执行一下代码中的test函数,不带括号;成功输出hello world!

再操作一次;编辑源文件test2.c;代码如下;

#include "mex.h"void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{printf("hello world, myfirst mex program !!!!");
}

前面已设置了lcc编译器;mex test2.c,成功;

调用test2;成功输出字符串 "hello world, myfirst mex program !!!!" ;

工作目录下的文件;

matlab 混合C++编程mex方式初级入门相关推荐

  1. matlab和C/C++混合编程--Mex

    最近的项目需要matlab和C的混合编程,经过一番努力终于完成了项目要解决的问题.现在就将Mex的一些经验总结一下,当然只是刚刚开始,以后随着学习的深入继续添加.首先讲讲写Mex的一些常规规定,然后我 ...

  2. matlab的矩阵编译器,MATLAB引擎方式实现VC与MATLAB混合编程

    VS2008是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快.但在科学计算方面函数库显得不够丰富.读取.显示数据图形不方便.Matlab是一款将数值分析.矩阵计算.信号处理和图形显 ...

  3. matlab和C/C++混合编程--Mex (转载)

    matlab和C/C++混合编程--Mex 最近的项目需要matlab和C的混合编程,经过一番努力终于完成了项目要解决的问题.现在就将Mex的一些经验总结一下,当然只是刚刚开始,以后随着学习的深入继续 ...

  4. matlab和C/C++混合编程--Mex (六)参数传递

    最近的项目需要matlab和C的混合编程,经过一番努力终于完成了项目要解决的问题.现在就将Mex的一些经验总结一下,当然只是刚刚开始,以后随着学习的深入继续添加.首先讲讲写Mex的一些常规规定,然后我 ...

  5. QT与MATLAB混合编程

    QT与MATLAB混合编程 本文就介绍使用 Qt 和 Matlab 进行混合编程的基本流程,主要包括: 如何在Matlab中将m文件编译为C++语言的DLL文件 如何在Qt项目中加入自定义DLL相关的 ...

  6. FORTRAN MATLAB 混合编程

    0618bianlong@gmail.com 第一部分:Fortran调用Matlab引擎 1  什么是Matlab引擎 所谓Matlab引擎(engine),是指一组Matlab提供的接口函数,支持 ...

  7. matlab两个多项式相除,C++和MATLAB混合编程求解多项式系数(矩阵相除)

    摘要:MATLAB对于矩阵处理是非常高效的,而C++对于矩阵操作是非常麻烦的,因而可以采用C++与MATLAB混合编程求解矩阵问题. 主要思路就是,在MATLAB中编写函数脚本并使用C++编译为dll ...

  8. c 使用matlab引擎,[转载]C与MATLAB混合编程之调用MATLAB引擎

    Visual Studio调用MATLAB需要的配置已经在<Visual Studio调用MATLAB的配置>一文中给出了详细的步骤,本文将介绍混合编程的示例. 在C中调用MATLAB,据 ...

  9. C++和MATLAB混合编程-DLL篇

    先小话一下DLL,DLL是动态链接库,是源代码编译后的二进制库文件和程序接口,和静态链接库不同的是,程序在编译时并不链接动态链接库的执行体,而是在文件中保留一个调用标记,在程序运行时才将动态链接库文件 ...

最新文章

  1. 一个整型数组里除了两个数字之外,其他的数字都出现了两次
  2. 三级网络技术刷题笔记
  3. Chrome浏览器不支持字体小于12px的解决办法
  4. 关于控件ID的试验(涉及MasterPage)
  5. 802.11w协议介绍
  6. 1122 Hamiltonian Cycle (25 分)【难度: 一般 / 知识点: 模拟 哈密顿回路】
  7. CVPR 2020 中的群组活动识别
  8. linux系统搭建监控,Linux系统搭建zabbix监控系统实例讲解
  9. totolink服务器未响应,TOTOLINK路由器设置后无法上网问题的解决方法
  10. python中wx_python中wx模块的具体使用方法
  11. Windows phone 7
  12. Android MediaCodec学习笔记
  13. 环信php修改头像,集成环信3.0 处理UI上展示昵称 头像的方法
  14. 初学者:关于html中的text-align文本居中属性详解
  15. c语言查表程序,C语言查表法问题
  16. 思科认证入门级课程介绍(一)
  17. 计算机考研专业课科目834,2018考研华中科技大学834计算机专业基础综合考试大纲...
  18. laravel开源版华登区块狗
  19. go日志库log/zap/logrus
  20. 老旧笔记本安装(升级)黑群晖7.1

热门文章

  1. 列举出php代码级的优化技巧,php 代码优化的42条建议 推荐
  2. show profile 分析SQL
  3. spring的发展||springboot和微服务的介绍
  4. 数据输出:如何将数据带给页面||SpringMVC除过在方法上传入原生的request和session外还能怎么样把数据带给页面
  5. 数据的聚类(cluster)|| 关联规则 || 回归
  6. HTML5 Canvas 旋转
  7. 将excel的数据导入到mysql数据表
  8. PyQt5 技术篇-QWidget、Dialog设置界面固定大小、不可拉伸方法实例演示
  9. 树莓派教程之树莓派系统镜像刷入和远程登陆(1)
  10. 1.9 matlab字符与字符串