[发明专利]C#代码自动生成方法、系统及存储介质有效

专利信息
申请号: 202310494683.X 申请日: 2023-05-05
公开(公告)号: CN116483376B 公开(公告)日: 2023-10-03
发明(设计)人: 刘瑞祥 申请(专利权)人: 广州正是网络科技有限公司
主分类号: G06F8/41 分类号: G06F8/41;G06F8/52
代理公司: 广东穗科知识产权代理事务所(普通合伙) 44834 代理人: 黄启文
地址: 510000 广东省广州*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: c# 代码 自动 生成 方法 系统 存储 介质
【说明书】:

发明涉及一种C#代码自动生成方法,包括以下步骤:S1.分析目标中间语言;S2.生成抽象语法树;S3.提取元数据信息;S4.生成元数据描述模式对应的C#字节码;S5.将目标中间语言合并回目标二进制;S6.更新元表信息。本发明提供的C#代码自动生成方法采用源码到C#字节码,即文本到二进制,后续维护和修改基于生成之前的旧代码,代码的体量小,减少了维护时间。

技术领域

本发明涉及计算机技术领域,更具体地,涉及一种C#代码自动生成方法、系统及存储介质。

背景技术

目前,现有技术提供的代码自动生成框架有Unity 框架、Spring框架及Guice框架。

现有的这类框架局限在于:实现基于反射一类的技术,实现原理是通过执行程序时分析元数据,扫描类(对象)结构,然后动态创建实例。

因此会有两个局限:1.生效的阶段位于软件启动时,因此目标程序的启动时间会随着代码量的增加而线性增大;2.无法跨平台使用,C#语言本身可以针对主流操作系统来生成可运行的程序;但是某些平台基于安全或其他因素考虑会禁用反射一类的特性,如苹果的 Ios系统,使用现有的框架无法实现跨平台的应用开发。

同时还有一些次要问题,比如:1.这类框架本身会被当作程序的一部分,被编译进目标软件,额外增加应用体积;2.这些框架同时也会内置容器实现,无法做到单纯增加功能,而不使用其作为容器的效果。

发明内容

本发明提供了一种C#代码自动生成方法,在不改变功能的前提下,减少需要手动编写的代码规模,同时不增加软件在运行过程中的开销,不影响软件的跨平台性并且对原有代码不产生侵入性。

为实现以上发明目的,采用的技术方案是:

C#代码自动生成方法,包括以下步骤:

S1.分析目标中间语言;

S2.生成抽象语法树;

S3.提取元数据信息;

S4.生成元数据描述模式对应的C#字节码;

S5.将目标中间语言合并回目标二进制;

S6.更新元表信息。

优选地,所述步骤S4中,生成元数据描述模式对应的C#字节码具体包括:

基于所述元数据信息生成C#字节码,并将其插入至原有C#字节码中,计算插入后的地址偏移,更新原有C#字节码内的偏移信息。

优选地,所述步骤S6中,更新元表信息具体包括:

更新元表信息,删除自定义属性的元信息,更新符号表,添加新生成代码的信息,再次保存目标二进制。

优选地,所述执行步骤S1-S6之前,还包括有以下方法步骤:

1)将C#代码自动生成方法引入Unity工程;

2)将C#代码自动生成方法调用关联到Unity内的C#编译流程中;

3)编写业务代码;

4)Unity自动编译时触发步骤2)中定义的钩子函数。

优选地,所述步骤1)中,以dll或unity package两种不同的形式将C#代码自动生成方法引入Unity工程。

优选地,所述步骤2)中,将C#代码自动生成方法调用关联到Unity内的C#编译流程中,具体包括:

21)添加Editor代码,并注册Unity Editor API 的CompilationPipeline钩子函数;

22)钩子函数内指定编译的目标dll名,并执行C#代码自动生成方法的调用。

优选地,所述步骤3)中,编写业务代码具体包括:

31)定义字段,令其名为customerId;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州正是网络科技有限公司,未经广州正是网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202310494683.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top