一种生成可执行动态链接库文件方法、装置及存储介质制造方法及图纸

技术编号:35229862 阅读:12 留言:0更新日期:2022-10-15 10:50
本申请公开了一种生成可执行动态链接库文件方法、装置及存储介质,该方法包括:构建仿真模型并生成数学模型文件;将代码生成选项设置为基于结构体的可复用模型,制定结构体中保存输入输出,提供动态内存分配方法;使用目标语言编译器对数学模型文件进行编译;在编译生成的头文件中将内存分配错误提示赋予类型,使其具体化;在编译生成的模块定义文件中,添加模型名称的动态初始化函数;执行编译生成的批处理文件生成可执行动态链接库文件。本申请公开的方法实现了通过目标语言编译器生成可执行动态链接库文件。行动态链接库文件。行动态链接库文件。

【技术实现步骤摘要】
一种生成可执行动态链接库文件方法、装置及存储介质


[0001]本专利技术涉及控制仿真调度
,尤其涉及一种生成可执行动态链接库文件方法、装置及存储介质。

技术介绍

[0002]Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,广泛应用于空气动力学、导航制导、通讯、电子、机械、热力学等诸多领域。Simulink自带的RTW(Real

Time Workshop,实时工作空间)是一种基于Simulink的代码自动生成环境,能够从仿真模型生成优化的可移植的嵌入式实时代码和可定制的ANSI C代码。
[0003]ert_shrlib.tlc为嵌入式实时目标共享库,其支持的系统目标文件为嵌入式编码器(适用于PC或UNIX平台)。目前生成动态链接库文件的其中一种方法为:将路径添加到系统环境变量中,进行相应的操作能够直接进行编译,然后生成动态链接库文件,但是所生成的动态链接库文件为不可直接执行文件。一些情况下,需要将制作完成的仿真模型封装为可执行动态链接库文件。但是,目前仅通过ert_shrlib.tlc文件对模型文件进行的编译仅仅会在模型文件中编译相应的c语言代码,并不能够生成动态链接库文件,也不可执行。

技术实现思路

[0004]在本申请实施例中,通过提供一种生成可执行动态链接库文件方法、装置及存储介质,解决了目前仅通过ert_shrlib.tlc文件对模型文件进行的编译不能够直接生成可执行动态链接库文件的技术问题。
[0005]第一方面,本申请实施例提供了一种生成可执行动态链接库文件方法,该方法包括:构建仿真模型并生成数学模型文件;将代码生成选项设置为基于结构体的可复用模型,制定结构体中保存输入输出,提供动态内存分配方法;使用目标语言编译器对所述数学模型文件进行编译;在编译生成的头文件中将内存分配错误提示赋予类型,使其具体化;在编译生成的模块定义文件中,添加模型名称的动态初始化函数;执行编译生成的批处理文件生成动态链接库文件。
[0006]结合第一方面,在一种可能的实现方式中,所述将代码生成选项设置为基于结构体的可复用模型,制定结构体中保存输入输出,提供动态内存分配方法之前,所述方法还包括:运行所述数学模型文件;对所述数学模型进行修改,直至仿真结果与预期效果一致。
[0007]结合第一方面,在一种可能的实现方式中,所述使用目标语言编译器对所述数学模型文件进行编译,包括:运用ERT将所述数学模型文件生成rtw文件;使用所述目标语言编译器对所述rtw文件进行编译。
[0008]结合第一方面,在一种可能的实现方式中,所述在编译生成的头文件中将内存分配错误提示赋予类型,包括:在编译生成的所述头文件中将所述内存分配错误提示赋予为字符串类型。
[0009]结合第一方面,在一种可能的实现方式中,所述方法还包括:在所述仿真模型中构建树型结构的接口驱动。
[0010]第二方面,本申请实施例提供了一种生成可执行动态链接库文件装置,该装置包括:生成模块,用于构建仿真模型并生成数学模型文件;设置模块,用于将代码生成选项设置为基于结构体的可复用模型,制定结构体中保存输入输出,提供动态内存分配方法;编译模块,用于使用目标语言编译器对所述数学模型文件进行编译;赋予模块,用于在编译生成的头文件中将内存分配错误提示赋予类型,使其具体化;添加模块,用于在编译生成的模块定义文件中,添加模型名称的动态初始化函数;执行模块,用于执行编译生成的批处理文件生成可执行动态链接库文件。
[0011]结合第二方面,在一种可能的实现方式中,所述装置还包括:模型调试模块,用于运行所述数学模型文件;对所述仿真模型进行修改,直至仿真结果与预期效果一致。
[0012]结合第二方面,在一种可能的实现方式中,所述编译模块具体用于:运用ERT将所述数学模型文件生成rtw文件;使用所述目标语言编译器对所述rtw文件进行编译。
[0013]结合第二方面,在一种可能的实现方式中,所述赋予模块具体用于:在编译生成的所述头文件中将所述内存分配错误提示赋予为字符串类型。
[0014]结合第二方面,在一种可能的实现方式中,所述装置还包括:构建接口驱动模块,用于在所述仿真模型中构建树型结构的接口驱动。
[0015]第三方面,本申请实施例提供了一种生成可执行动态链接库文件服务器,包括存储器和处理器;所述存储器用于存储计算机可执行指令;所述处理器用于执行所述计算机可执行指令,以实现第一方面或第一方面任一种可能的实现方式所述的方法。
[0016]第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有可执行指令,计算机执行所述可执行指令时能够实现以实现第一方面或第一方面任一种可能的实现方式所述的方法。
[0017]本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本申请实施例提供了一种生成可执行动态链接库文件方法,该方法在实施时,首先构建仿真模型并生成数学模型文件,然后进行选项设置,将代码生成选项设置为基于结构体的可复用模型,制定结构体中保存输入输出,提供动态内存分配方法,使用目标语言编译器对数学模型文件进行编译,并且在编译生成的头文件中将内存分配错误提示赋予类型使其具体化,以及在编译生成的模块定义文件中添加模型名称的动态初始化函数,最后执行批处理文件,从而实现了通过目标语言编译器生成可执行动态链接库文件。
附图说明
[0018]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对本专利技术实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为本申请实施例提供的生成可执行动态链接库文件方法的流程图;图2为本申请实施例提供的对仿真模型进行调试的流程图;图3为本申请实施例提供的对数学模型文件进行编译的具体流程图;
图4为本申请实施例提供的构造N叉树的流程图;图5为本申请实施例提供的遍历N叉树的流程图;图6为本申请实施例提供的搜索N叉树的流程图;图7为本申请实施例提供的生成可执行动态链接库文件装置的示意图;图8为本申请实施例提供的生成可执行动态链接库文件服务器的示意图。
具体实施方式
[0020]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0021]首先对本申请实施例中涉及的相关技术或概念作简单介绍。
[0022]动态链接库(英文:Dynamic Link Library,简称:DLL),是微软公司在微软Windows操作系统中,实现共享函数库概念的一种方式。这些库函数的扩展名是.dl本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种生成可执行动态链接库文件方法,其特征在于,包括:构建仿真模型并生成数学模型文件;将代码生成选项设置为基于结构体的可复用模型,制定结构体中保存输入输出,提供动态内存分配方法;使用目标语言编译器对所述数学模型文件进行编译;在编译生成的头文件中将内存分配错误提示赋予类型,使其具体化;在编译生成的模块定义文件中,添加模型名称的动态初始化函数;执行编译生成的批处理文件生成可执行动态链接库文件。2.根据权利要求1所述的方法,其特征在于,所述将代码生成选项设置为基于结构体的可复用模型,制定结构体中保存输入输出,提供动态内存分配方法之前,所述方法还包括:运行所述数学模型文件;对所述仿真模型进行修改,直至仿真结果与预期效果一致。3.根据权利要求1所述的方法,其特征在于,所述使用目标语言编译器对所述数学模型文件进行编译,包括:运用ERT将所述数学模型文件生成rtw文件;使用所述目标语言编译器对所述rtw文件进行编译。4.根据权利要求1所述的方法,其特征在于,在编译生成的头文件中将内存分配错误提示赋予类型,包括:在编译生成的所述头文件中将所述内存分配错误提示赋予为字符串类型...

【专利技术属性】
技术研发人员:郭蕊王宬何宇
申请(专利权)人:西安羚控电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1