帮助中心帮助中心
化c++ 11
FORTRAN_COMPLEX_FUNCTIONS_RETURN_VOID
真正的
假
bool
< stdbool.h >
。bat
. sh
构建墨西哥人功能或引擎的应用程序
墨西哥人文件名
墨西哥人文件名api option1……optionN
墨西哥人客户端引擎文件名
墨西哥人客户端引擎文件名api option1……optionN
墨西哥人设置(朗)
墨西哥人设置客户端引擎(朗)
例子
墨西哥人文件名编译和链接一个或多个c++源文件的编写MATLAB c++数据API到一个二进制墨西哥人文件在当前文件夹。写这些应用程序的更多信息,请参阅从MATLAB编写c++函数调用(墨西哥人文件)。
文件名
如果写墨西哥人文件的基础上矩阵C API或者是Fortran矩阵API,然后墨西哥人文件名构建一个或多个C、c++和Fortran源文件-R2017bapi。在未来版本的MATLAB®,默认的api选择将会改变使用交错复杂的API (-R2018a)。MathWorks建议您创建墨西哥人的文件和更新现有的墨西哥人文件使用交错复杂的API。另外,使用MX_HAS_INTERLEAVED_COMPLEX宏观跨版本的MATLAB应用所需的行为。有关更多信息,请参见MATLAB支金宝app持墨西哥人交错复杂的API函数。
-R2017b
api
-R2018a
MX_HAS_INTERLEAVED_COMPLEX
信息处理C、c++和Fortran程序,看看MATLAB与外部编程语言和系统集成。
墨西哥人文件名apioption1……optionN建立与指定的api和可选的option1……optionN参数。的option1……optionN参数的补充或覆盖默认的墨西哥人构建配置。
墨西哥人文件名apioption1……optionN
option1……optionN
墨西哥人
墨西哥人客户端引擎文件名构建c++源文件的编写MATLAB c++数据API到独立的MATLAB引擎应用程序中。有关更多信息,请参见一个c++元素引擎项目。
如果基础上编写应用程序MATLAB引擎API为C,C MAT-File API,Fortran引擎API,或者是Fortran MAT-File API,然后墨西哥人客户端引擎文件名构建一个独立的应用程序的-R2017bapi。在未来版本的MATLAB,默认值api选择将会改变使用交错复杂的API (-R2018a)。MathWorks建议您创建引擎的应用程序和更新现有的应用程序使用交错复杂的API。
墨西哥人客户端引擎文件名apioption1……optionN构建引擎与指定的应用程序api和可选的option1……optionN参数。
墨西哥人客户端引擎文件名apioption1……optionN
墨西哥人设置(朗]显示信息的默认编译器构建墨西哥人文件给定的语言。为每个受支持的语言MATLAB编译器定义了一个默认的。金宝app如果您有多个编译器对于一个给定的语言,使用朗选择更改默认语言的编译器。有关更多信息,请参见改变默认的编译器和选择一个c++编译器。
墨西哥人设置(朗]
朗
墨西哥人设置客户端引擎[朗]选择一个编译器构建引擎应用程序。
墨西哥人设置客户端引擎[朗]
全部折叠
复制的源代码示例matlabroot/外面的例子文件夹中。
matlabroot/外面的例子
拷贝文件(fullfile (matlabroot,“外来的”,“例子”,墨西哥人的,“explore.c”),“。”,“f”)
构建的墨西哥人文件。输出显示特定于您的编译器信息。
墨西哥人-R2018aexplore.c
测试函数通过复杂的矩阵。
一个= [1 3 5];b = [5 3 1];一个=复杂(A, b);探索(A)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -名称:prhs[0]维度:1 x3类名:双- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(1,1)= 1 + 5(1、2)= 3 + 3(1、3)= 5 + 1我
建立一个单一的C程序yprime.c到一个墨西哥人的文件中。
yprime.c
matlabroot
/外面的例子
拷贝文件(fullfile (matlabroot,“外来的”,“例子”,墨西哥人的,“yprime.c”),“。”,“f”)
墨西哥人yprime.c
建筑“MinGW64编译器(C)”。墨西哥人成功完成。
测试。
T = 1;Y = 1:4;yprime (T, Y)
ans =1×42.0000 8.9685 4.0000 -1.0947
显示编译和链接命令和其他信息用于故障诊断,使用冗长的模式。输出显示特定于您的信息平台和编译器。
墨西哥人- v-compatibleArrayDimsyprime.c
使用环境变量来指定附加选项传递给编译器。
确定变量名:
为构建与MinGW c++代码®,macOS和Linux®编译器,使用CXXFLAGS。
CXXFLAGS
为构建与MinGW C代码,macOS,和Linux编译器使用CFLAGS。
CFLAGS
与微软®Visual Studio®编译器,使用COMPFLAGS。
COMPFLAGS
指定标准c++ 17与Visual Studio在构建一个墨西哥人文件。
墨西哥人COMPFLAGS = '美元COMPFLAGS化= c++ 17 'yprime.c
关于使用字符串分隔符的更多信息在不同的平台上,看到的覆盖默认的编译器开关选项。
构建yprime.c墨西哥人文件的附加价值- wall现有的编译器标志。因为价值包含一个空格字符,你必须描述字符串;你使用的角色取决于平台。
- wall
在MATLAB提示,使用单引号(”)。
”
墨西哥人- vCOMPFLAGS = ' $ - wall COMPFLAGS 'yprime.c
MinGW-w64编译器,基于gcc / g++编译器标志使用Linux。选择其中的一个命令:
墨西哥人- vCXXFLAGS = ' $ - wall CXXFLAGS 'yprime.c% c++编译器墨西哥人- vCFLAGS = ' $ CFLAGS - wall’yprime.c% C编译器
在窗户®命令提示符,使用双引号(”)。
墨西哥人- vCOMPFLAGS = " COMPFLAGS美元- wall”yprime.c
在shell命令行macOS和Linux,使用单引号(”)。
墨西哥人- vCFLAGS = ' $ CFLAGS - wall’yprime.c
墨西哥人文件的例子fulltosparse包括两个Fortran源文件,loadsparse.F和fulltosparse.F。要运行这个示例,您需要一个支持Fortran编译器安装在您的系统金宝app上。
fulltosparse
loadsparse.F
fulltosparse.F
将源文件复制到当前文件夹。
拷贝文件(fullfile (matlabroot,“外来的”,“例子”,“refbook”,“loadsparse.F”),“。”,“f”)复制文件(fullfile (matlabroot,“外来的”,“例子”,“refbook”,“fulltosparse.F”),“。”,“f”)
构建fulltosparse墨西哥人文件。墨西哥人的文件名fulltosparse因为fulltosparse.F是第一个文件在命令行上。输出包含特定于您的编译器信息。
墨西哥人-largeArrayDimsfulltosparse.Floadsparse.F
建筑的英特尔和微软Visual Fortran作曲家XE 2013 Visual Studio 2012的。墨西哥人成功完成。
完整的眼睛= (5);晶石= fulltosparse(全)
晶石= 1 1 1 2 2 1 3 3 1 4,4 1 5 5 1
结合当前文件夹中的所有C源文件到墨西哥人文件中mymex。使用与产出选择控制墨西哥人文件的名称。
mymex
与产出
墨西哥人与产出mymex* . c
预览构建命令细节不执行命令,使用- n选择。输出显示特定于您的信息平台和编译器。
- n
墨西哥人- nyprime.c
你可以链接到目标文件你分开编译源文件墨西哥人。
墨西哥人文件示例fulltosparse包括两个Fortran源文件。的fulltosparse文件是网关程序(包含mexFunction子例程),loadsparse包含了计算程序。
mexFunction
loadsparse
要运行这个示例,您需要一个支持Fortran编译器安装在您的系统金宝app上。计算子程序复制到当前文件夹。
拷贝文件(fullfile (matlabroot,“外来的”,“例子”,“refbook”,“loadsparse.F”),“。”,“f”)
编制子程序和对象文件在一个单独的文件夹,c: \ objfiles。
c: \ objfiles
mkdirc: \ objfiles墨西哥人-largeArrayDims- c-outdirc: \ objfilesloadsparse.F
网关子程序复制到当前文件夹。编译和链接loadsparse对象文件。
拷贝文件(fullfile (matlabroot,“外来的”,“例子”,“refbook”,“fulltosparse.F”),“。”,“f”)墨西哥人-largeArrayDimsfulltosparse.Fc: \ objfiles \ loadsparse.obj
指定的路径包括MATLAB LAPACK库子程序处理复数的例程,使用-我选择。要使用这些子例程,墨西哥人文件必须访问头文件fort.h。
-我
fort.h
复制matrixDivideComplex.c当前文件夹。
matrixDivideComplex.c
拷贝文件(fullfile (matlabroot,“外来的”,“例子”,“refbook”,“matrixDivideComplex.c”),“。”,“f”)
创建-我参数的连接“我”的路径fort.h文件。
“我”
ipath = [“我”fullfile (matlabroot“外来的”,“例子”,“refbook”));
创建变量的名称和路径LAPACK库文件和文件,fort.c,包含复数处理例程。
fort.c
lapacklib = fullfile (matlabroot,“外来的”,“自由”、计算机(“拱”),“微软”,“libmwlapack.lib”);fortfile = fullfile (matlabroot,“外来的”,“例子”,“refbook”,“fort.c”);
构建的墨西哥人文件。
墨西哥人(“v”,“-R2017b”ipath,“matrixDivideComplex.c”、fortfile lapacklib)
构建matrixDivide.c在Windows平台上使用的例子- l和- l选项来指定libmwlapack.lib图书馆。库文件位于文件夹matlabrootextern \ \ lib \拱微软\。
matrixDivide.c
- l
libmwlapack.lib
matlabrootextern \ \ lib \拱微软\
拱
复制matrixDivide.c当前文件夹。
拷贝文件(fullfile (matlabroot,“外来的”,“例子”,“refbook”,“matrixDivide.c”),“。”,“f”)
捕获的价值matlabroot这句话用在显示墨西哥人命令。
ans = C:\Program Files\MATLAB\R2014a
捕获的价值拱这句话用在显示墨西哥人命令。
计算机(“拱”)
ans = win64
墨西哥人的文件,拷贝的值matlabroot和拱到墨西哥人命令。
墨西哥人lc: \ MATLAB程序文件\ \ R2014a \走读生\ lib \ win64 \微软的…-llibmwlapackmatrixDivide.c
你必须使用”字符,因为\程序文件路径中包含了一个空间。
\程序文件
的mxcreatecharmatrixfromstr.c示例使用一个#定义象征SPACE_PADDING确定使用哪些字符特征向量之间的一个矩阵。设置值,构建文件的墨西哥人- d选择。
mxcreatecharmatrixfromstr.c
#定义
SPACE_PADDING
- d
将示例复制到当前文件夹。
拷贝文件(fullfile (matlabroot,“外来的”,“例子”,“mx”,“mxcreatecharmatrixfromstr.c”),“。”,“f”)
设置SPACE_PADDING指令之间添加一个空间值。
墨西哥人mxcreatecharmatrixfromstr.c-DSPACE_PADDING
建筑的MinGW64 C编译器”。墨西哥人成功完成。
复制engwindemo.c引擎的例子到当前文件夹。
engwindemo.c
拷贝文件(fullfile (matlabroot,“外来的”,“例子”,“eng_mat”,“engwindemo.c”),“。”,“f”)
建立一个独立的MATLAB引擎应用程序使用客户端引擎语法。
客户端引擎
墨西哥人客户端引擎engwindemo.c
如果你是Windows平台上运行,你必须首先注册MATLAB作为COM服务器。有关更多信息,请参见MATLAB注册为一个COM服务器。
运行示例。
engwindemo !
墨西哥人设置
基于MATLAB版本和系统显示选项的列表金宝app支持和兼容的编译器。
添加选项墨西哥人链接命令,使用LINKFLAGS命令行选项。例如,指定可执行文件在构建环境mymex.c在Windows上,类型:
LINKFLAGS
mymex.c
墨西哥人- vLINKFLAGS = ' $ LINKFLAGS /子系统:windows 'mymex.c
一个或多个文件名,包括名称和文件扩展名,指定为一个字符串或一个字符向量。如果文件不在当前文件夹,指定文件的完整路径。
文件名称可以任意组合:
C、c++或Fortran源文件。
金宝app®函数文件。
对象文件。
静态库文件。文件名必须包含库文件的完全限定路径。图书馆必须与目前使用的相同的编译器编译墨西哥人。
使用动态链接库- l库名选择。
- l库名
库名
第一个源代码文件中列出文件名是二进制墨西哥人文件的名称或引擎的应用程序。要覆盖此命名约定,可以使用与产出选择。
使用MATLAB编辑器来编写源代码。如果你使用一个集成开发环境(IDE)等微软Visual Studio或Xcode,那么你可以使用墨西哥人命令或遵循的指导方针自定义构建与墨西哥人脚本选项。
MATLAB编译器自动选择一个,如果安装,基于的语言文件名参数。
-largeArrayDims
-compatibleArrayDims
与释放特定的联系矩阵C API或Fortran矩阵API,指定为一个表中的值。不要把这些选项。
不要使用此选项为墨西哥人文件或引擎应用程序使用吗MATLAB c++数据API。
-R2017b(默认)
构建:
分离复杂的API,它包含C和Fortran矩阵早些时候在MATLAB R2017b和API的功能。
Large-array-handling API,它处理数组有超过231日1的元素。
把一个图形对象的句柄对象,而不是双。
对象
双
在未来版本的MATLAB,默认值api选择将会改变使用交错复杂的API (-R2018a)。MathWorks建议您创建应用程序和更新现有的应用程序使用交错复杂的API。另外,使用MX_HAS_INTERLEAVED_COMPLEX宏观跨版本的MATLAB应用所需的行为。有关更多信息,请参见MATLAB支金宝app持墨西哥人交错复杂的API函数。
交错复杂的API,包括类型的数据访问功能。有关更多信息,请参见墨西哥人升级文件使用交错复杂的API。
Large-array-handling API
运行一个Fortran墨西哥人文件由R2018a交错复杂的API,您必须使用R2018a更新3。
单独的复杂的API
把一个图形对象的句柄对象,而不是双。治疗处理双,将这个选项-DMEX_DOUBLE_HANDLE。
-DMEX_DOUBLE_HANDLE
7.2版本数组处理API更上,这限制了数组231日1的元素
不使用-compatibleArrayDims选择的时候调用LAPACK或布拉斯特区功能。
默认选项C墨西哥人S-functions。
例子:墨西哥人-R2018a explore.c
墨西哥人-R2018a explore.c
可选的构建选项,指定为这个表中的值之一。选项可以在任何顺序出现在任何平台,除外。
@rspfile
rspfile
使用Windows负责文件。一个负责文件包含命令行选项是一个文本文件。不支持非ascii字符。金宝app
- c
编译一个对象文件。没有建立一个二进制文件墨西哥人。
构建一个引擎的应用程序。
- dsymbolname- dsymbolname=symbolvalue- usymbolname
- dsymbolname
symbolname
- dsymbolname=symbolvalue
symbolvalue
- usymbolname
的- d选项C预处理器宏定义。相当于在源文件如下:
#定义symbolname
#定义symbolnamesymbolvalue
的- u选择删除任何C预处理器宏的初始定义,symbolname。逆的- d选择。
- u
不之间添加一个空间D或U和symbolname。不要添加空格在吗=的迹象。
例子:定义编译器指令
- ffilepath
filepath
覆盖默认的编译器的选择。filepath是配置文件的名称和完整路径,指定为一个字符串或一个字符向量。使用默认的编译器的信息,请参阅改变默认的编译器。
不使用- f选择构建引擎的应用程序。使用客户端引擎选项。
- f
- g
添加符号信息和禁用优化建立对象的代码。用于调试。
- h (elp)
显示帮助墨西哥人。使用从操作系统提示符。
-我路径名
路径名
增加了路径名搜索文件夹的列表# include文件。
# include
不之间添加一个空间我和路径名。
我
例子:指定包含文件路径
- l库名- llibfolder- l库名
- llibfolder- l库名
libfolder
与动态对象库库名(可选)libfolder。
MATLAB的扩张库名:
库名. lib或自由库名. lib——Windows系统
. lib
自由
自由库名. dylib- - - - - -macOS系统
. dylib
自由库名所以——Linux系统
所以
如果使用,- l选择必须先于- l选择。当使用- l在Linux或选项macOS系统,您还必须设置运行时库路径,作为解释设置运行时库路径。
指定- l用小写字母选项l。不之间添加一个空间l和库名之间或l和libfolder。
l
链接静态库,使用文件名输入参数。
例子:指定库文件路径
显示,但不执行命令墨西哥人将执行。
例子:预览构建命令
- o
优化对象的代码。使用这个选项编译和优化。优化是默认启用。
指定这个选项用大写字母O。
-outdir目录名
目录名
所有输出文件在文件夹的地方目录名。
例子:创建并链接到单独的对象文件
与产出mexname
mexname
覆盖默认的墨西哥人文件的命名机制。创建一个二进制文件命名的墨西哥人mexname适当的墨西哥人文件扩展名。
例子:把源文件使用通配符
设置朗
更改默认编译器来构建朗墨西哥人的语言文件或引擎的应用程序。当您使用这个选项,墨西哥人忽略了其他所有的命令行选项。
沉默
抑制信息性消息。的墨西哥人当你指定命令仍然报告错误和警告沉默。
删除任何初始的定义C预处理器宏symbolname。(逆- d选择。)
不之间添加一个空间U和symbolname。
U
- v
在详细模式构建。显示内部变量的值后所有的命令行参数。显示每个编译和链接的步骤完全评估。用于故障诊断的编译器设置问题。
例子:显示详细的构建和故障诊断信息
varname=varvalue
varname
varvalue
添加环境变量值varname。毕竟这个选项处理命令行参数。
例子:
附加的编译器选项
覆盖默认的编译器开关选项
C
c++
CPP
Fortran
语言,作为一个不区分大小写的值指定。
C编译器,包括c++
c++编译器
Fortran编译器
您可以运行墨西哥人来自:
MATLAB命令窗口
Windows系统提示
macOS终端
Linux shell
MATLAB命令行用法外,墨西哥人项目位于指定的文件夹[matlabroot ' / bin ']在UNIX和[matlabroot ' \ bin \ win64 ']在Windows上。
[matlabroot ' / bin ']
[matlabroot ' \ bin \ win64 ']
墨西哥人文件与平台相关的扩展。为不同的平台可以将二进制墨西哥人文件在同一文件夹中。确定墨西哥人文件扩展名,使用mexext函数。
mexext
墨西哥人文件与平台相关的扩展
Linux(64位)
mexa64
苹果Mac(64位)
mexmaci64
Windows(64位)
mexw64
使用墨西哥人建立独立的MATLAB引擎应用程序可执行文件,使用客户端引擎选择。
的墨西哥人命令不支持文件夹名称包含双引号(金宝app”)字符。
全部展开
MATLAB支金宝app持MinGW-w64 8.1版本编译器在Windows平台上。安装说明,请参阅MATLAB的答案™文章常见问题:我如何安装MinGW编译器?
MATLAB支金宝app持这些英特尔®oneAPI编译器:
oneAPI 2023编译器微软Visual Studio2019年和2022年。
oneAPI 2022编译器与Visual Studio 2017中,2019年和2022年。
在Windows和macOS平台建设:
C和c++接口
C、c++和Fortran墨西哥人文件
C、c++和Fortran独立MATLAB引擎的应用程序
C和Fortran独立MATLAB MAT-file应用程序
墨西哥人选择文件与MinGW和Linux构建c++代码编译器不再包括CXXFLAGS国旗化c++ 11。
墨西哥人选择文件macOS编译器包括CXXFLAGS选项化c++ 14代替。
化c++ 14
继续构建墨西哥人文件myFunc与化c++ 11选项,类型:
myFunc
墨西哥人myFunc.cpp“CXXFLAGS = $ CXXFLAGS化= c++ 11 '
MATLAB现在使用utf - 8作为其系统编码在Windows上,完成Unicode的采用®在所有支持的平台上。金宝app系统调用由在一个墨西哥人文件并返回utf - 8编码的字符串。如果你的墨西哥人文件包含代码或第三方库的链接,假设不同的系统编码,那么你可能会看到的文本,因此需要更新代码Unicode兼容。
墨西哥人文件建于R2021b早些时候,MATLAB提供了一个宏,FORTRAN_COMPLEX_FUNCTIONS_RETURN_VOID,处理与平台相关的语法差异呼吁通过复数bla和LAPACK Fortran功能。R2022a,你不再需要一个不同的调用语法在不同的平台上,和宏观处理这种差异被移除。
更新你的代码,取代这些语句的使用FORTRAN_COMPLEX_FUNCTIONS_RETURN_VOID:
/ *调用布拉斯特区函数* / / *使用不同的调用语法在不同的平台上* / # ifdef FORTRAN_COMPLEX_FUNCTIONS_RETURN_VOID zdotu(结果,&nElements,吉娜,&incx、zinB很小);#其他结果= zdotu (&nElements,吉娜,&incx zinB,很小);# endif
:
/ *调用布拉斯特区函数* / zdotu(结果,&nElements,吉娜,&incx、zinB很小);
R2021b更新3,MATLAB支持微软Visual Stu金宝appdio 2022用于构建C和c++接口,墨西哥人的文件,和独立的MATLAB引擎和MAT-file应用程序。
MATLAB支金宝app持的gcc版本5。x和更高的建筑C和c++接口,墨西哥人文件,和独立的MATLAB引擎和MAT-file Linux上的应用程序。如果你使用4.0或更早版本,然后用MATLAB显示一个警告。
在macOS和Linux平台,MATLAB使用utf - 8作为其系统编码。系统调用由内建在一个墨西哥人文件macOS或Linux并返回utf - 8编码的字符串。如果你的墨西哥人文件包含代码或第三方库的链接,假设不同的系统编码,那么你可能会看到的文本,因此需要更新代码Unicode兼容。
在Windows平台上,如果对全球语言支持使用Unicode utf - 8金宝app选项窗口中启用地区设置,然后MATLAB使用utf - 8作为其系统编码。
此表列出了在MATLAB编译器支持的变化为构建C和c++接口,墨西哥人文件,和独立金宝app的MATLAB引擎和MAT-file应用程序。
对于继续支持构建应用程序,考金宝app虑升级到支持编译器所示金宝app支持和编译器——释放2020兼容。
添加
英特尔平行工作室2020 XE C、c++和Fortran
窗户
英特尔2020 XE Fortran平行工作室
macOS
苹果Xcode11.倍
停止
英特尔平行Studio XE 2017
对于继续支持构建应用程序,考金宝app虑升级到支持编译器所示金宝app支持和兼容的编译器-释放2019 b。
微软Visual Studio2019 C和c++
英特尔平行工作室2015 XE和2016 XE Fortran
的定义真正的,假,bool构建墨西哥人已经改变了文件和独立的MATLAB引擎和MAT-file应用程序与C99兼容Windows和Linux平台上的编译器。使用MATLAB定义这些值< stdbool.h >所定义的IEEE Std 1003.1:
< stdbool。h >标题应当定义下列宏:bool _Bool扩展。真正的扩大到整数常数1。假扩大到整数常量0。_bool_true_false_are_defined扩大到整数常数1。
在R2019a和早些时候,MATLAB在Windows和Linux平台上这些值定义为:
真正的- - - - - -#定义作为1
1
假- - - - - -#定义作为0
0
bool- - - - - -类型定义作为无符号字符
类型定义
无符号字符
为macOS平台,没有变化。
此表列出了添加英特尔在MATLAB编译器支持构建C和c++接口,墨西哥人文件,和独立金宝app的MATLAB引擎和MAT-file应用程序。
英特尔平行Studio XE 2019与微软Visual Studio 2015和2017 C, c++和Fortran
英特尔2019 XE Fortran平行工作室
的Fortran矩阵API金宝app支持的交叉存储表示复数。有关更多信息,请参见MATLAB支金宝app持墨西哥人交错复杂的API函数
如果你建立Fortran墨西哥人功能,那么您应该审查我需要升级我的墨西哥人文件使用交错复杂的API呢?
请注意
此表列出了修改在MATLAB构建C编译器支持的接口,墨西哥人文件,和独立的MATL金宝appAB引擎和MAT-file应用程序。
对于继续支持构建应用程序,考金宝app虑升级到支持编译器所示金宝app支持和兼容的编译器-释放2018 b。
MinGW-w64 6.3.0编译器版本https://mingw-w64.org
英特尔2018 XE平行工作室微软Visual Studio2015年和2017年对C、c++和Fortran
英特尔2018 XE Fortran平行工作室
微软Visual c++®2013个专业
作者墨西哥人使用现代c++函数设计模式,即写即拷语义扩展数据类型支持,MATLAB更快的处理大数据的数组。金宝app有关更多信息,请参见从MATLAB编写c++函数调用(墨西哥人文件)。
如果你不需要工作的墨西哥人文件R2017b早些时候和你熟悉现代c++,那么考虑使用新的c++ API墨西哥人和MATLAB c++数据API。如果你是更舒适的工作在C语言中,继续使用C墨西哥人API和矩阵C API。
MATLAB使用一个交叉的存储表示复数。这个词交错复杂是指这种表示,实部和虚部都存储在一起。有关更多信息,请参见MATLAB支金宝app持墨西哥人交错复杂的API函数。
如果你建立C墨西哥人功能,C / c++墨西哥人S-functions,或独立的MATLAB引擎和MAT-file应用程序,那么您应该审查我需要升级我的墨西哥人文件使用交错复杂的API呢?MATLAB不支持Fortran金宝app的交错复杂的API函数。
这个改变不会影响MATLAB语言。你可以继续使用中描述的功能复数没有任何修改函数和脚本。
的墨西哥人命令有新的构建选项,-R2017b和-R2018a,这与释放特定版本的链接矩阵C API。
-R2017b——默认选项。这个选项是相当于命令:
墨西哥人mymex.c-largeArrayDims-DMEX_DOUBLE_HANDLE
-R2018a——使用交错复杂的API,包括输入数据访问功能。有关更多信息,请参见MATLAB支金宝app持墨西哥人交错复杂的API函数。
尽管MATLAB构建1.56.0 Boost库版本,R2018a,您可以指定任何Boost库版本在一个墨西哥人的功能。
对于继续支持构建应用程序,考金宝app虑升级到支持编译器所示金宝app支持和编译器——释放2018兼容。
GNU®gcc和gfortran版本6. x。推荐6.3版本。
Linux
GNU gcc, 4.9.x gfortran版本
苹果Xcode7.倍
英特尔c++作曲家XE 2013
英特尔Fortran作曲家XE 2013
被淘汰
Visual c++ 2013专业
对于继续支持构建应用程序,考金宝app虑升级到支持编译器所示金宝app支持和兼容的编译器-释放2017 b。
微软Visual c++2017名专业、社区和企业版
微软Visual c++2015年和2013年社区版和企业版除了继续支持专业版金宝app
微软Visual Studio2015 (v140)工具安装在Visual Studio 2017中
MinGW-w64 5.3.0编译器版本https://mingw-w64.org
英特尔2017 XE平行工作室微软Visual Studio2017 C、c++和Fortran
4.9.2编译器从TDM-GCC MinGW-w64版本
微软Visual c++2012个专业
Microsoft Windows SDK 7.1
金宝app支持GNU gcc和gfortran 4.9版本将停止在未来的版本中,在这段时间里,新版本将支持。
的墨西哥人函数使用large-array-handling API (-largeArrayDims默认选项)。最佳实践是更新你的墨西哥人使用这个库和源代码文件重建墨西哥人。说明,请参阅墨西哥人升级文件使用交错复杂的API。
您可以运行现有的二进制墨西哥人文件,而无需重建。有关更多信息,请参见墨西哥人版本兼容性。
如果你建立墨西哥人不使用的文件墨西哥人命令选项-largeArrayDims或-compatibleArrayDims如下表,然后检查,以避免R2017a根据违约行为变化。信息使用的后果-compatibleArrayDims选择构建墨西哥人文件,看到如果我不升级呢?
默认的构建模式对于C墨西哥人S-functions仍然存在-compatibleArrayDims。
此表显示了你必须改变墨西哥人命令来重建墨西哥人文件或S-functions。
源代码
墨西哥人文件C / c++和Fortran源代码使用32位的API
墨西哥人myMex.c
墨西哥人myMex.c-compatibleArrayDims
没有变化。
墨西哥人文件C / c++和Fortran源代码使用64位的API
墨西哥人myMex.c-largeArrayDims
使用:墨西哥人myMex.c
或继续使用:墨西哥人myMex.c-largeArrayDims
s函数C / c++源代码使用32位的API
墨西哥人sfun.c
墨西哥人sfun.c-compatibleArrayDims
s函数C / c++源代码使用64位的API
墨西哥人sfun.c-largeArrayDims
使用32位的API函数Fortran源代码
墨西哥人sfun.F
墨西哥人sfun.F-compatibleArrayDims
使用64位的API函数Fortran源代码
墨西哥人sfun.F-largeArrayDims
MATLAB支持编译器添加金宝app此表用于构建C接口,墨西哥人文件,和独立的MATLAB引擎和MAT-file应用程序。
英特尔2017 XE Fortran平行工作室
Xcode 8。R2016b x)
的墨西哥人命令嵌入一个墨西哥人在墨西哥人文件版本号由MATLAB R2016b后来。这个数字标识矩阵API,墨西哥人的版本功能预计将在运行时。
如果你不使用墨西哥人命令,那么你必须用于构建墨西哥人文件更新命令。有关更多信息,请参见墨西哥人文件编译,而墨西哥人的命令。
对于继续支持构建应用程序,考金宝app虑升级到支持编译器所示金宝app支持和兼容的编译器-释放2016 b。
GNU gcc和gfortran 4.9版
GNU gcc和gfortran 4.7版
英特尔2016 XE Fortran平行工作室英特尔2015 XE Fortran平行工作室
Mac OS X
微软Visual Studio2010个专业
Visual c++ 2012专业
苹果Xcode6.2
的墨西哥人命令- f选择不接受参数。bat或. sh文件扩展名。
而不是使用- f选项指定一个编译器,使用描述的工作流改变默认的编译器。
您可以修改编译器构建选项使用墨西哥人命令选项。例如,使用- l和-我选择定位系统库。使用varname=varvalue选项传递给编译器的选项。
对于继续支持构建应用程序,考金宝app虑升级到支持编译器所示金宝app支持和编译器——释放2016兼容。
英特尔平行Studio XE 2016英特尔平行Studio XE 2015英特尔c++作曲家XE 2013微软Visual Studio2013年
微软Visual Studio2008专业版英特尔C + +作曲家XE 2011微软Visual Studio2010年英特尔Visual Fortran作曲家XE 2011微软Visual Studio2010年
微软Visual Studio2010专业版Microsoft Windows SDK 7.1
dbmex|mexext|电脑|系统
dbmex
电脑
系统
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室