System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 代码模块信息确定方法、装置、计算机设备和存储介质制造方法及图纸_技高网

代码模块信息确定方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:40238878 阅读:4 留言:0更新日期:2024-02-02 22:37
本申请涉及一种代码模块信息确定方法、装置、计算机设备、存储介质和计算机程序产品。该方法包括:根据代码模块的源文件,生成代码模块的目标对象文件和链接脚本文件;链接脚本文件中源文件前后标记有起始位置标识和结束位置标识,链接脚本文件用于描述源文件在内存中的存储顺序;根据链接脚本文件,对目标对象文件进行链接处理,得到代码模块的可执行文件;根据可执行文件,确定代码模块的模块信息;模块信息中至少包括代码模块的位置和体积;位置通过起始位置标识在内存中所处起始位置和结束位置标识在内存中所处结束位置表示;体积通过结束位置和起始位置之间的位置差异对应的占用内存空间表示。采用本方法,能够提高代码模块信息确定效率。

【技术实现步骤摘要】

本申请涉及计算机,特别是涉及一种代码模块信息确定方法、装置、计算机设备、存储介质和计算机程序产品。


技术介绍

1、在基于编译型语言搭建的嵌入式项目中,存在许多单独的代码模块;为了便于嵌入式项目的推进,需要确定这些代码模块的模块信息。

2、传统技术中,在确定代码模块的模块信息时,一般是通过人工分析代码模块的相关数据,来确定代码模块的位置、体积等。但是,通过人工分析确定代码模块信息,过程比较繁琐,导致代码模块信息的确定效率较低。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够提高代码模块信息的确定效率的代码模块信息确定方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

2、第一方面,本申请提供了一种代码模块信息确定方法,包括:

3、根据代码模块的源文件,生成所述代码模块的目标对象文件和链接脚本文件;所述链接脚本文件中所述源文件前后标记有起始位置标识和结束位置标识,所述链接脚本文件用于描述所述源文件在内存中的存储顺序;

4、根据所述链接脚本文件,对所述目标对象文件进行链接处理,得到所述代码模块的可执行文件;

5、根据所述可执行文件,确定所述代码模块的模块信息;所述模块信息中至少包括所述代码模块的位置和体积;所述位置通过所述起始位置标识在所述内存中所处起始位置和所述结束位置标识在所述内存中所处结束位置表示;所述体积通过所述结束位置和所述起始位置之间的位置差异对应的占用内存空间表示。

6、在其中一个实施例中,所述根据所述可执行文件,确定所述代码模块的模块信息,包括:

7、在所述可执行文件执行的过程中,调用与所述代码模块对应的回调文件,获取所述起始位置、所述结束位置和所述位置差异;

8、根据所述起始位置、所述结束位置和所述位置差异,输出所述代码模块的位置和体积。

9、在其中一个实施例中,在所述可执行文件执行的过程中,调用与所述代码模块对应的回调文件,获取所述起始位置、所述结束位置和所述位置差异之前,还包括:

10、获取回调文件模板;

11、将所述代码模块的源文件的所述起始位置标识和所述结束位置标识,添加至所述回调文件模板中的对应位置,得到与所述代码模块对应的回调文件。

12、在其中一个实施例中,所述根据所述可执行文件,确定所述代码模块的模块信息,还包括:

13、在所述可执行文件未执行的过程中,对所述可执行文件进行解析,得到所述起始位置和所述结束位置;

14、根据所述起始位置和所述结束位置,确定所述代码模块的位置,以及确定所述位置差异;

15、确定所述位置差异对应的占用内存空间,作为所述代码模块的体积。

16、在其中一个实施例中,所述根据所述可执行文件,确定所述代码模块的模块信息,还包括:

17、在所述可执行文件未执行的过程中,获取所述起始位置、所述结束位置和所述位置差异;

18、在所述可执行文件执行的过程中,调用与所述代码模块对应的回调文件,基于所述起始位置、所述结束位置和所述位置差异,输出所述代码模块的位置和体积。

19、在其中一个实施例中,所述链接脚本文件通过下述方式得到:

20、在链接脚本文件模板中,配置所述源文件在内存中的存储顺序,得到初始链接脚本文件;

21、在所述初始链接脚本文件中,在所述源文件前后添加所述起始位置标识和所述结束位置标识,得到所述链接脚本文件。

22、在其中一个实施例中,在根据所述可执行文件,确定所述代码模块的模块信息之后,还包括:

23、从所述代码模块中,识别出对应的体积大于预设体积的代码模块,作为存在问题的目标代码模块;

24、根据所述目标代码模块的位置,在所述内存中定位到所述目标代码模块。

25、在其中一个实施例中,在根据所述可执行文件,确定所述代码模块的模块信息之后,还包括:

26、根据所述代码模块的体积,查询体积与工作量之间的对应关系,得到所述代码模块的工作量;

27、或者,

28、根据所述代码模块的位置,对对应的访问频次大于预设频次的代码模块进行分散处理。

29、第二方面,本申请还提供了一种代码模块信息确定装置,包括:

30、文件生成模块,用于根据代码模块的源文件,生成所述代码模块的目标对象文件和链接脚本文件;所述链接脚本文件中所述源文件前后标记有起始位置标识和结束位置标识,所述链接脚本文件用于描述所述源文件在内存中的存储顺序;

31、链接处理模块,用于根据所述链接脚本文件,对所述目标对象文件进行链接处理,得到所述代码模块的可执行文件;

32、信息确定模块,用于根据所述可执行文件,确定所述代码模块的模块信息;所述模块信息中至少包括所述代码模块的位置和体积;所述位置通过所述起始位置标识在所述内存中所处起始位置和所述结束位置标识在所述内存中所处结束位置表示;所述体积通过所述结束位置和所述起始位置之间的位置差异对应的占用内存空间表示。

33、第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

34、根据代码模块的源文件,生成所述代码模块的目标对象文件和链接脚本文件;所述链接脚本文件中所述源文件前后标记有起始位置标识和结束位置标识,所述链接脚本文件用于描述所述源文件在内存中的存储顺序;

35、根据所述链接脚本文件,对所述目标对象文件进行链接处理,得到所述代码模块的可执行文件;

36、根据所述可执行文件,确定所述代码模块的模块信息;所述模块信息中至少包括所述代码模块的位置和体积;所述位置通过所述起始位置标识在所述内存中所处起始位置和所述结束位置标识在所述内存中所处结束位置表示;所述体积通过所述结束位置和所述起始位置之间的位置差异对应的占用内存空间表示。

37、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

38、根据代码模块的源文件,生成所述代码模块的目标对象文件和链接脚本文件;所述链接脚本文件中所述源文件前后标记有起始位置标识和结束位置标识,所述链接脚本文件用于描述所述源文件在内存中的存储顺序;

39、根据所述链接脚本文件,对所述目标对象文件进行链接处理,得到所述代码模块的可执行文件;

40、根据所述可执行文件,确定所述代码模块的模块信息;所述模块信息中至少包括所述代码模块的位置和体积;所述位置通过所述起始位置标识在所述内存中所处起始位置和所述结束位置标识在所述内存中所处结束位置表示;所述体积通过所述结束位置和所述起始位置之间的位置差异对应的占用内存空间表示。

41、第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程本文档来自技高网...

【技术保护点】

1.一种代码模块信息确定方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述可执行文件,确定所述代码模块的模块信息,包括:

3.根据权利要求2所述的方法,其特征在于,在所述可执行文件执行的过程中,调用与所述代码模块对应的回调文件,获取所述起始位置、所述结束位置和所述位置差异之前,还包括:

4.根据权利要求1所述的方法,其特征在于,所述根据所述可执行文件,确定所述代码模块的模块信息,还包括:

5.根据权利要求1所述的方法,其特征在于,所述根据所述可执行文件,确定所述代码模块的模块信息,还包括:

6.根据权利要求1所述的方法,其特征在于,所述链接脚本文件通过下述方式得到:

7.根据权利要求1至6任一项所述的方法,其特征在于,在根据所述可执行文件,确定所述代码模块的模块信息之后,还包括:

8.根据权利要求1至6任一项所述的方法,其特征在于,在根据所述可执行文件,确定所述代码模块的模块信息之后,还包括:

9.一种代码模块信息确定装置,其特征在于,所述装置包括

10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。

11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。

12.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。

...

【技术特征摘要】

1.一种代码模块信息确定方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述可执行文件,确定所述代码模块的模块信息,包括:

3.根据权利要求2所述的方法,其特征在于,在所述可执行文件执行的过程中,调用与所述代码模块对应的回调文件,获取所述起始位置、所述结束位置和所述位置差异之前,还包括:

4.根据权利要求1所述的方法,其特征在于,所述根据所述可执行文件,确定所述代码模块的模块信息,还包括:

5.根据权利要求1所述的方法,其特征在于,所述根据所述可执行文件,确定所述代码模块的模块信息,还包括:

6.根据权利要求1所述的方法,其特征在于,所述链接脚本文件通过下述方式得到:

7.根据权利要求1至6任一项所述的方法,其特...

【专利技术属性】
技术研发人员:杨佳龙
申请(专利权)人:上海合芯数字科技有限公司
类型:发明
国别省市:

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

1