当前位置: 首页 > news >正文

网站建设企业官网体验版是什么企业网站模板 免费下载

网站建设企业官网体验版是什么,企业网站模板 免费下载,软件开发网站,广州番禺区天气预报目录 语法 说明 示例 使用交错式复矩阵 API 编译 MEX 文件 编译 C MEX 文件 显示详细编译和故障排除信息 覆盖默认编译器开关选项 从多个源文件编译 MEX 文件 使用通配符组合源文件 预览编译命令 创建并链接到单独的对象文件 指定包含文件的路径 指定库文件的路径…

目录

语法

说明

示例

使用交错式复矩阵 API 编译 MEX 文件

编译 C MEX 文件

显示详细编译和故障排除信息

覆盖默认编译器开关选项

从多个源文件编译 MEX 文件

使用通配符组合源文件

预览编译命令

创建并链接到单独的对象文件

指定包含文件的路径

指定库文件的路径

定义编译器指令

编译引擎应用程序

选择 C 编译器

链接命令选项

提示


编译 MEX 函数或引擎应用程序

语法

mex filenamesmex filenames api option1 ... optionNmex -client engine filenamesmex -client engine filenames api option1 ... optionNmex -setup [lang]mex -setup -client engine [lang]

说明

        mex filenames 编译一个或多个用 MATLAB 数据 API 编写的 C++ 源文件并将其链接到当前文件夹中的二进制 MEX 文件中。

​        mex filenames api option1 ... optionN 使用指定的 api 和可选的 option1 ... optionN 参数进行编译。option1 ... optionN 参数补充或覆盖默认 mex 编译配置。

​        mex -client engine filenames 将使用 MATLAB 数据 API 编写的 C++ 源文件编译到独立的 MATLAB 引擎应用程序中。

​        mex -client engine filenames api option1 ... optionN 使用指定的 api 和可选的 option1 ... optionN 参数编译引擎应用程序。

​        mex -setup [lang] 显示用于编译 MEX 文件的给定语言的默认编译器的有关信息。MATLAB 为每种支持的语言定义一个默认编译器。

​        ​mex -setup -client engine [lang] 选择用来编译引擎应用程序的编译器。​

示例

使用交错式复矩阵 API 编译 MEX 文件

        从 matlabroot/extern/examples 文件夹复制源代码示例。

copyfile(fullfile(matlabroot,'extern','examples','mex','explore.c'),'.','f')

        编译该 MEX 文件。输出显示特定于编译器的信息。

mex -R2018a explore.c

        测试。

a = [1 3 5];
b = [5 3 1];
A = complex(a,b);
explore(A)
------------------------------------------------
Name: prhs[0]
Dimensions: 1x3
Class Name: double
------------------------------------------------(1,1) = 1 + 5i(1,2) = 3 + 3i(1,3) = 5 + 1i

编译 C MEX 文件

        将单个 C 程序 yprime.c 编译为一个 MEX 文件。在路径 c:\work 上创建一个可写文件夹,并将其设置为当前文件夹。

[s,msg,msgid] = mkdir('c:\work');
if (isempty(msgid))mkdir('c:\work')
end
cd c:\work

        从 matlabroot/extern/examples 文件夹复制源代码示例。

copyfile(fullfile(matlabroot,'extern','examples','mex','yprime.c'),'.','f')

        编译该 MEX 文件。输出显示特定的编译器的信息。

mex yprime.cBuilding with 'MinGW64 Compiler  C '.
MEX completed successfully.

        测试。

T=1;
Y=1:4;
yprime(T,Y)
ans =2.0000    8.9685    4.0000   -1.0947

显示详细编译和故障排除信息

        要显示编译和链接命令及其他用于故障排除的信息,请使用详细模式。

mex -v -compatibleArrayDims yprime.c

        输出显示特定的平台和编译器的信息。

覆盖默认编译器开关选项

        通过将值 -Wall 追加到现有编译器标识符来编译 yprime.c 对应的 MEX 文件。因为该值包括空格字符,所以必须界定该字符串;界定所用字符取决于平台。

        在 MATLAB 提示符处,使用MATLAB单引号 (')。

mex -v COMPFLAGS='$COMPFLAGS -Wall' yprime.c

        对于基于 gcc/g++ 的 MinGW-w64 编译器,使用 Linux® 编译器标识符。

mex -v CXXFLAGS='$CXXFLAGS -Wall' yprime.c

        在 Windows® 命令提示符处,使用双引号 (")。

mex -v COMPFLAGS="$COMPFLAGS -Wall" yprime.c

        在 macOS 和 Linux 上的 Shell 命令行处,使用单引号 (')。

mex -v CFLAGS='$CFLAGS -Wall' yprime.c

从多个源文件编译 MEX 文件

        MEX 文件示例 fulltosparse 由两个Fortran源文件loadsparse.F和fulltosparse.F组成。要运行此示例,需要在系统上安装支持的Fortran编译器。将源文件复制到当前文件夹。

copyfile(fullfile(matlabroot,'extern','examples','refbook','loadsparse.F'),'.','f')
copyfile(fullfile(matlabroot,'extern','examples','refbook','fulltosparse.F'),'.','f')

        编译 fulltosparse MEX文件。MEX文件名为 fulltosparse,这是因为 fulltosparse.F 是命令行上的第一个文件。输出包含特定的编译器的信息。

mex -largeArrayDims fulltosparse.F loadsparse.FBuilding with 'Intel Visual Fortran Composer XE 2013 with Microsoft Visual Studio 2012'.
MEX completed successfully.

        测试。

full = eye(5);
spar = fulltosparse(full)
spar =1,1         12,2         13,3         14,4         15,5         1

使用通配符组合源文件

        将当前文件夹中的所有C源文件组合为 MEX 文件 mymex。使用 -output 选项控制 MEX 文件的名称。

mex -output mymex *.c

预览编译命令

        在不执行命令的情况下,使用 -n 选项可预览编译命令详细信息。输出包含特定的平台和编译器的信息。

mex -n yprime.c

创建并链接到单独的对象文件

        可以链接到与源 MEX 文件分开编译的对象文件。MEX 文件示例 fulltosparse 由两个 Fortran 源文件组成。fulltosparse 文件是入口例程(包含 mexFunction 子例程),loadsparse 包含计算例程。

        要运行此示例,需要在系统上安装支持的 Fortran 编译器。将计算子例程复制到当前文件夹。

​
copyfile(fullfile(matlabroot,'extern','examples','refbook','loadsparse.F'),'.','f')​

        编译子例程,并将对象文件放在单独的文件夹 c:\objfiles 中。

mkdir c:\objfiles
mex -largeArrayDims -c -outdir c:\objfiles loadsparse.FBuilding with 'Intel Visual Fortran Composer XE 2013 with Microsoft Visual Studio 2012'.
MEX completed successfully.

        将入口子例程复制到当前文件夹。编译 loadsparse 对象文件并与之链接。

copyfile(fullfile(matlabroot,'extern','examples','refbook','fulltosparse.F'),'.','f')
mex -largeArrayDims fulltosparse.F c:\objfiles\loadsparse.objBuilding with 'Intel Visual Fortran Composer XE 2013 with Microsoft Visual Studio 2012'.
MEX completed successfully.

指定包含文件的路径

        要指定包含 MATLAB LAPACK 库子例程以处理复数例程的路径,请使用 -I 选项。要使用这些子例程,MEX 文件必须访问头文件 fort.h。将 matrixDivideComplex.c 示例复制到当前文件夹。

copyfile(fullfile(matlabroot,'extern','examples','refbook','matrixDivideComplex.c'),'.','f')

        通过串联 '-I' 和 fort.h 文件的路径来创建 -I 参数。

ipath = ['-I' fullfile(matlabroot,'extern','examples','refbook')];

        为 LAPACK 库文件和文件 fort.c 的名称和路径创建变量,这些变量包含复数处理例程。

lapacklib = fullfile(matlabroot,'extern','lib',computer('arch'),'microsoft','libmwlapack.lib');
fortfile = fullfile(matlabroot,'extern','examples','refbook','fort.c');

        编译该 MEX 文件。

mex('-v','-R2017b',ipath,'matrixDivideComplex.c',fortfile,lapacklib)

指定库文件的路径

        通过使用 -L 和 -l 选项指定 libmwlapack.lib 库,在 Windows 平台上编辑 matrixDivide.c 示例。库文件位于文件夹 matlabroot\extern\lib\arch\microsoft 中。

        将 matrixDivide.c 示例复制到当前文件夹。

copyfile(fullfile(matlabroot,'extern','examples','refbook','matrixDivide.c'),'.','f')

        捕获 matlabroot 的值。

matlabroot
ans =C:\Program Files\MATLAB\R2014a

        捕获 arch 的值。

computer('arch')
ans =win64

        要编译 MEX 文件,请将 matlabroot 和 arch 的值复制到 mex 命令中,如以下语句所示。

mex '-LC:\Program Files\MATLAB\R2014a\extern\lib\win64\microsoft'...-llibmwlapack matrixDivide.c

        必须使用 ' 字符,这是因为路径中的 \Program Files 包括空格。

定义编译器指令

        mxcreatecharmatrixfromstr.c 示例使用 #define 符号 SPACE_PADDING 来确定要在矩阵的字符向量之间使用的字符。要设置该值,请使用 -D 选项编译 MEX 文件。将示例复制到当前文件夹。

copyfile(fullfile(matlabroot,'extern','examples','mx','mxcreatecharmatrixfromstr.c'),'.','f')

        将 SPACE_PADDING 指令设置为在值之间添加空格。

mex mxcreatecharmatrixfromstr.c -DSPACE_PADDINGBuilding with 'MinGW64 Compiler  C '.
MEX completed successfully.

编译引擎应用程序

        将 engwindemo.c 引擎示例复制到当前文件夹。

copyfile(fullfile(matlabroot,'extern','examples','eng_mat','engwindemo.c'),'.','f')
mex -client engine engwindemo.c

        如果在 Windows 平台上运行,则必须先将 MATLAB 注册为 COM 服务器。运行示例。

!engwindemo

选择 C 编译器

mex -setup

​        MATLAB 根据支持和兼容的编译器列表显示适用的版本和系统的选项。​

链接命令选项

        要向 mex 链接命令添加选项,请使用 LINKFLAGS 命令行选项。例如,要指定在 Windows 上编译 mymex.c 时可执行文件的环境,请键入:

mex -v LINKFLAGS='%LINKFLAGS% /subsystem:windows' mymex.c

        语言,指定为下列不区分大小写的值之一。

C

C 编译器,包括 C++。

C++ 或 CPP

C++ 编译器

Fortran

Fortran 编译器。

提示

  • 可以从以下位置运行 mex:

    • MATLAB 命令行窗口

    • Windows 系统提示符

    • macOS 终端

    • Linux Shell

  • MEX 文件与平台相关的扩展名

    平台二进制 MEX 文件扩展名

    Linux(64 位)

    mexa64

    Apple Mac(64 位)

    mexmaci64

    Windows(64 位)

    mexw64

  • 要使用 mex 为独立 MATLAB 引擎应用程序编译可执行文件,使用 -client engine 选项。

  • mex 命令不支持包含双引号 (") 字符的文件夹名称。

http://www.yayakq.cn/news/61767/

相关文章:

  • cc网站域名注册上海软件网站建设
  • 中信银行网站怎么做的怎么烂常州网络推广网站
  • 电子公司网站设计西安+医疗网站建设
  • 安徽网站开发项目如何看网站关键词
  • 教育行业网站模板通州青岛网站建设
  • 网站建设公司工作岗位说明书沈阳网站设计
  • 响应式网站算几个页面做网站还需要买服务器么
  • 做五金找订单查什么网站网络科技网站设计
  • 上海基础微网站开发做设计的一般用什么网站找素材
  • 怎么编辑网站源码国内的平面设计网站
  • 旅行社 网站系统移动应用网站开发
  • 简单网站建设流程小程序制作推广
  • 网站关键词提交国外做的比较好的展台网站
  • 无锡做网站365caiyiwordpress 微信悬浮
  • 网站建设众包服务平台唐山网站建设zzvg
  • 深圳网络公司网站怎么用自己电脑做网站服务器吗
  • 在哪里可以改动网站标题wordpress群晖套件
  • 新网站前期seo怎么做网站建设费怎么写会计科目
  • 华阳路街道网站建设网站建设与管理是干什么的
  • 做网站需要注意事项阿里巴巴网站建设的功能定位
  • 仿站工具下载后咋做网站广州最新静态管理
  • 只做水果的网站手机可以登录国家开发银行网站吗
  • 宠物网站设计模块长春市住房建设局网站
  • 中国建筑官网站郑州新闻头条
  • 电商实训网站建设报告个人网站用凡科建站好吗
  • 网站建设逻辑组织的几种模型郑州网站建设平台
  • dedecms做中英文网站网站底部固定广告代码
  • 数字资产交易网站开发wordpress仿盗
  • 贵阳有哪些可以制作网站的公司网站如何做淘宝支付宝
  • 延庆营销型网站建设和平苏州网站建设