文档帮助中心
构建墨西哥人功能或引擎的应用程序
墨西哥人文件名
墨西哥人文件名api option1……optionN
墨西哥人客户端引擎文件名
墨西哥人客户端引擎文件名api option1……optionN
墨西哥人设置(朗)
墨西哥人设置客户端引擎(朗)
例子
墨西哥人文件名编译和链接一个或多个c++源文件的编写MATLAB数据API到一个二进制墨西哥人文件在当前文件夹。写这些应用程序的更多信息,请参阅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数据API到独立的MATLAB引擎应用程序中。有关更多信息,请参见介绍c++的引擎API
如果基础上编写应用程序MATLAB引擎API为C,MATLAB C API来读取MAT-File数据,MATLAB引擎API Fortran,或者是MATLAB Fortran API来读取MAT-File数据,然后墨西哥人客户端引擎文件名构建一个独立的应用程序的-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
创建一个可写的文件夹路径c: \工作并将它设置为当前文件夹。
c: \工作
(年代,味精,是否)= mkdir (“c: \工作”);如果(isempty(是否))mkdir (“c: \工作”)结束cdc: \工作
拷贝文件(fullfile (matlabroot,“外来的”,“例子”,墨西哥人的,“yprime.c”),“。”,“f”)
墨西哥人yprime.c
建筑的MinGW64 C编译器”。墨西哥人成功完成。
T = 1;Y = 1:4;yprime (T, Y)
ans = 2.0000 8.9685 4.0000 -1.0947
显示编译和链接命令和其他信息用于故障诊断,使用冗长的模式。
墨西哥人- v-compatibleArrayDimsyprime.c
输出显示特定于您的信息平台和编译器。
构建yprime.c墨西哥人文件的附加价值- wall现有的编译器标志。因为价值包含一个空格字符,你必须描述字符串;你使用的角色取决于平台。
- wall
在MATLAB提示,使用MATLAB单引号(”)。
”
墨西哥人- vCOMPFLAGS = ' $ - wall COMPFLAGS 'yprime.c
MinGW-w64编译器,基于gcc / g + +,使用Linux®编译器标志。
墨西哥人- vCXXFLAGS = ' $ - wall CXXFLAGS 'yprime.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 \拱微软\
matlabroot
拱
复制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
复制engwindemo.c引擎的例子到当前文件夹。
engwindemo.c
拷贝文件(fullfile (matlabroot,“外来的”,“例子”,“eng_mat”,“engwindemo.c”),“。”,“f”)
墨西哥人客户端引擎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数据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墨西哥人文件用MATLAB R2018a交错复杂的API,您必须使用MATLAB 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
添加符号信息和禁用优化对象代码。用于调试。调试与优化,添加- o选择。
- o
- 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和libfolder。
指定- l用小写字母选项l。
链接静态库,使用文件名输入参数。
例子:指定库文件路径
显示,但不执行命令墨西哥人将执行。
例子:预览构建命令
优化对象的代码。使用这个选项编译和优化。
优化是默认启用。优化时禁用- g选择似乎没有- o选择。
指定这个选项用大写字母O。
-outdir目录名
目录名
所有输出文件在文件夹的地方目录名。
例子:创建并链接到单独的对象文件
与产出mexname
mexname
覆盖默认的墨西哥人文件的命名机制。创建二进制文件命名的墨西哥人mexname适当的墨西哥人文件扩展名。
例子:把源文件使用通配符
设置朗
更改默认编译器来构建朗墨西哥人的语言文件或引擎的应用程序。当您使用这个选项,墨西哥人忽略了其他所有的命令行选项。
沉默
抑制信息性消息。的墨西哥人命令仍然报告错误和警告,即使你指定沉默。
删除任何初始的定义C预处理器宏symbolname。(逆- d选择。)
不之间添加一个空间U和symbolname。
- 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”)字符。
清晰的|电脑|dbmex|inmem|loadlibrary|mexext|pcode|prefdir|系统
清晰的
电脑
dbmex
inmem
loadlibrary
pcode
prefdir
系统
这个例子的修改版本存在于你的系统。你想打开这个版本呢?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室