预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共21页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113656042A(43)申请公布日2021.11.16(21)申请号202110973058.4(22)申请日2021.08.24(71)申请人北京奇艺世纪科技有限公司地址100080北京市海淀区海淀北一街2号鸿城拓展大厦10、11层(72)发明人刘姗(74)专利代理机构北京柏杉松知识产权代理事务所(普通合伙)11413代理人马敬项京(51)Int.Cl.G06F8/41(2018.01)G06F8/30(2018.01)权利要求书2页说明书12页附图6页(54)发明名称一种代码生成方法、装置、电子设备及存储介质(57)摘要本发明实施例提供了一种代码生成方法、装置、电子设备及存储介质,涉及信息安全技术领域,该方法应用于编译器,方法包括:获取应用程序的原始应用代码,以及获取用于对原始应用代码进行校验的原始校验代码;对原始应用代码进行预编译,得到第一原始代码,并对第一原始代码进行编译,得到第一中间代码;对原始校验代码进行预编译,得到第二原始代码,并对第二原始代码进行编译,得到第二中间代码;基于第一中间代码和第二中间代码,得到目标汇编代码;其中,目标汇编代码用于生成多段机器代码;多段机器代码用于生成对应的可执行文件。如此,能够避免原始应用代码丢失。CN113656042ACN113656042A权利要求书1/2页1.一种代码生成方法,其特征在于,所述方法应用于编译器,所述方法包括:获取应用程序的原始应用代码,以及获取用于对所述原始应用代码进行校验的原始校验代码;对所述原始应用代码进行预编译,得到第一原始代码,并对所述第一原始代码进行编译,得到第一中间代码;对所述原始校验代码进行预编译,得到第二原始代码,并对所述第二原始代码进行编译,得到第二中间代码;基于所述第一中间代码和第二中间代码,得到目标汇编代码;其中,所述目标汇编代码用于生成多段机器代码;所述多段机器代码用于生成对应的可执行文件。2.根据权利要求1所述的方法,其特征在于,所述基于所述第一中间代码和第二中间代码,得到目标汇编代码,包括:在所述第二中间代码中插入免优化标识,作为第二免优化中间代码;将所述第二免优化中间代码插入所述第一中间代码,得到第三中间代码;对所述第三中间代码中未包含有免优化标识的部分进行优化,得到目标汇编代码。3.根据权利要求1所述的方法,其特征在于,所述基于所述第一中间代码和第二中间代码,得到目标汇编代码,包括:对所述第一中间代码进行优化,得到第一优化中间代码;将所述第二中间代码插入所述第一优化中间代码,得到目标汇编代码。4.根据权利要求2或3所述的方法,其特征在于,所述编译器包含用于获取待优化代码的第一接口,以及用于获取免优化代码的第二接口;所述获取应用程序的原始应用代码,以及获取用于对所述原始应用代码进行校验的原始校验代码,包括:通过所述第一接口获取所述应用程序的原始应用代码,以及通过所述第二接口获取用于对所述原始应用代码进行校验的原始校验代码。5.根据权利要求1所述的方法,其特征在于,所述原始校验代码包括:所述原始应用代码包含的各个子原始应用代码各自对应的校验代码;各个子原始应用代码中至少存在两个具有重叠部分的子原始应用代码。6.一种代码生成装置,其特征在于,所述装置应用于编译器,所述装置包括:原始代码获取模块,用于获取应用程序的原始应用代码,以及获取用于对所述原始应用代码进行校验的原始校验代码;第一中间代码生成模块,用于对所述原始应用代码进行预编译,得到第一原始代码,并对所述第一原始代码进行编译,得到第一中间代码;第二中间代码生成模块,用于对所述原始校验代码进行预编译,得到第二原始代码,并对所述第二原始代码进行编译,得到第二中间代码;目标汇编代码生成模块,用于基于所述第一中间代码和第二中间代码,得到目标汇编代码;其中,所述目标汇编代码用于生成多段机器代码,所述多段机器代码用于生成对应的可执行文件。7.根据权利要求6所述的装置,其特征在于,所述中间代码获取模块,包括:第一中间代码生成子模块,用于对所述原始应用代码进行预编译,得到第一原始代码,2CN113656042A权利要求书2/2页并对所述第一原始代码进行编译,得到第一中间代码;第二中间代码生成子模块,用于对所述原始校验代码进行预编译,得到第二原始代码,并对所述第二原始代码进行编译,得到第二中间代码。8.根据权利要求6所述的装置,其特征在于,所述目标汇编代码生成模块,包括:第二免优化中间代码生成子模块,用于在所述第二中间代码中插入免优化标识,作为第二免优化中间代码;第三中间代码生成子模块,用于将所述第二免优化中间代码插入所述第一中间代码,得到第三中间代码;第一目标汇编代码生成子模块,用于对所述第三中间代码中未包含有免优