【文件属性】:
文件名称:matlab如何敲代码-mex-it:自动混合Matlab或Octave的C/C++函数(使用C++11编译器)
文件大小:38KB
文件格式:ZIP
更新时间:2021-05-23 08:04:59
系统开源
matlab如何敲代码混合
C
++
11代码可基于通用C
++函数自动创建Matlab
mex函数。
###仅需要一个头文件“
mex-it.h”
该方法基于dlib库中使用的方法
提供mex_function,让编译器完成其余工作。
但是,对代码进行了完全的重新设计,以使用尽可能多的std
C
++
11中的类,并使用可变参数模板来大大减少所需的代码量。
目前,用于回调matlab的代码不属于该库。
这支持基本的C
++数据类型。
对本征矩阵(矩阵类型为double
+
ColMajor)以及本征向量的支持有限。
####编译器如何知道输入和输出?
非常量引用表示输出
其他一切都是投入
建造
使用Cmake或设置自己的mex脚本
适用于Mac
OS
X,Linux和Windows(mingw32
/
g
++或Visual
Studio
2013)
建置状态
Linux:Travis
Windows
/
mingw32
/
g
++
/
Octave
4.0:AppVeyor
例子
创建一个这样的c
++实现文件
void
mex_function
(
const
double
&
【文件预览】:
mex-it-master
----.gitignore(281B)
----Makefile(396B)
----.travis.yml(328B)
----LICENSE(1KB)
----README.md(3KB)
----cmake_modules()
--------FindMATLAB.cmake(36KB)
--------FindOCTAVE.cmake(8KB)
--------FindEIGEN.cmake(315B)
----appveyor.yml(4KB)
----test()
--------test_mex.cpp(760B)
--------eigen_vector_example.cpp(178B)
--------eigex.m(80B)
--------test_vector_example.m(538B)
--------test_eigen_vector_int_example.m(603B)
--------test_eigen_matrix_example.m(524B)
--------vector_int_example.cpp(432B)
--------eigen_example.cpp(491B)
--------test_vector_int_example.m(611B)
--------test_eig_add.cpp(2KB)
--------test_vector_add.cpp(2KB)
--------test_simple_example.m(52B)
--------vector_example.cpp(366B)
--------eigen_add.cpp(310B)
--------test_eigen_vector_example.m(562B)
--------test_vector_add.m(70B)
--------eigen_vector_int_example.cpp(498B)
--------mex_function.cpp(138B)
--------test_eig_mult.cpp(2KB)
--------types_example.cpp(1KB)
--------simple_example.cpp(321B)
--------CMakeLists.txt(3KB)
--------test_types.m(2KB)
--------test_eigen_add.m(524B)
--------mex_function.h(86B)
----mex-it.h(45KB)