配置构建外部C/ c++代码
将您的外部C/ c++代码与MATLAB集成®,则必须向代码生成器提供外部文件。这些文件由源文件、头文件、目标文件和用于构建生成代码的库文件组成。
您可以在命令行、函数中或通过设置代码生成配置对象属性来配置构建。在命令行中指定文件,以快速和简单的方式生成代码。当您希望为其他项目和代码部署预配置函数时,请在函数中配置构建。配置对象提供了一组标准化的构建属性。属性还可以指定外部文件MATLAB编码器™应用程序,或使用派生的类编码器。ExternalDependency
.有关详细信息,请参见开发外部C/ c++代码接口.
为代码生成提供外部文件
假设您想为一个使用coder.ceval
调用C函数myCFn
.的外部源文件和头文件myCFn
驻留在文件夹中C: \定制
.使用这个命令:
codegenmyMatlabFnC: \ \ myCFn.c习俗C: \ \ myCFn.h习俗
配置从函数中构建
这个例子展示了如何从一个MATLAB®函数中配置外部C/ c++代码的构建。在函数中配置构建,以便更容易地将其与其他项目集成。
假设你有一个顶级的MATLAB函数,myFn
:
函数[出]= myFn(中)% # codegeny = mySubFn(的);Out = y + 10;结束
这个函数调用另一个函数,mySubFn
,使用外部C代码foo.c
.通过使用coder.updateBuildInfo
和coder.cinclude
,您可以从内部设置所有必要的外部代码依赖mySubFn
.
函数[y] = mySubFn (x)% # codegencoder.cinclude (“foo”);coder.updateBuildInfo (“addSourceFiles”,“foo.c”);%预先初始化y为double类型。y = 0;y = coder.ceval (“foo”, x);结束
您可以生成包含mySubFn
无需配置额外的构建设置或在命令行指定外部文件输入。为顶级函数生成代码myFn
,输入:
codegenmyFnarg游戏{5}报告
代码生成成功:查看报告,打开('codegen/mex/myFn/html/report.mldatx')
使用配置对象配置生成
通过设置代码生成配置对象的属性来定制构建。使用这些属性,您可以指定外部文件位置、自定义源代码和其他构建参数。
定制代码特性 | 描述 |
---|---|
|
指定代码出现在从MATLAB代码生成的每个C/ c++头文件的顶部附近。 |
|
指定编译生成的代码时要添加到包含路径的包含目录列表。提供一个绝对路径或相对于项目文件夹的路径。如果你的文件夹路径名包含空格,你必须将它用双引号括起来: cfg。CustomInclude =“C: \ Program Files \ MATLAB \工作”的
|
|
指定要与生成的代码链接的静态库或对象文件列表。 |
|
指定要编译并与生成的代码链接的源文件列表。构建过程首先在当前文件夹中查找源文件,然后在其中指定的包含文件夹中查找源文件 |
|
指定代码出现在生成的C/ c++源文件的顶部附近,在函数之外。不要指定C静态函数定义。 |
例如,声明一个独立的代码配置对象,并指定以下属性:
cfg = coder.config (“自由”);cfg。CustomInclude =“C: \定制\ src C: \定制\ lib”;cfg。CustomSource =“cfunction.c”;cfg。CustomLibrary =“chelper。obj clibrary.lib”;cfg。CustomSourceCode =“# include“cgfunction.h””;
属性在命令行上应用属性codegen
命令配置
论点:
codegen配置cfgmyMatlabFn
的“配置生成”MATLAB编码器应用程序
打开MATLAB编码器应用程序,然后继续生成代码的一步。
在生成代码页,打开生成对话框中,单击生成箭头.
点击更多的设置.
在自定义代码选项卡,选择您的构建配置设置。点击帮助显示有关输入字段的信息。
另请参阅
codegen
|coder.cinclude
|coder.updateBuildInfo
|coder.config
|编码器。CodeConfig
|编码器。MexCodeConfig
|编码器。ExternalDependency