CN109947430A - 一种基于动态编译的代码编译生成工具和一种动态编译方法 - Google Patents

一种基于动态编译的代码编译生成工具和一种动态编译方法 Download PDF

Info

Publication number
CN109947430A
CN109947430A CN201910232583.3A CN201910232583A CN109947430A CN 109947430 A CN109947430 A CN 109947430A CN 201910232583 A CN201910232583 A CN 201910232583A CN 109947430 A CN109947430 A CN 109947430A
Authority
CN
China
Prior art keywords
generation
generation module
tool
class
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910232583.3A
Other languages
English (en)
Inventor
周由甲
张进
王洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Inspur Genersoft Information Technology Co Ltd
Original Assignee
Shandong Inspur Genersoft Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Inspur Genersoft Information Technology Co Ltd filed Critical Shandong Inspur Genersoft Information Technology Co Ltd
Priority to CN201910232583.3A priority Critical patent/CN109947430A/zh
Publication of CN109947430A publication Critical patent/CN109947430A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于动态编译的代码编译生成工具和一种动态编译方法,属于计算机软件应用技术领域,该工具实现代码的动态编译和生成,该工具包含以下步骤:1)、按照程序集结构划分生成模块;2)、支持生成文件类型和路径的选择;3)、支持生成方法自定义扩展;4)、支持导入文本的方式编译生成代码文件。一种动态编译方法,该方法使用代码编译生成工具,实现代码的动态编译和生成,代码生成时,通过所述工具按照程序集结构划分生成模块,生成相应的程序集结构。本发明降低了用户使用动态编译进行代码动态编译生成的门槛,简化了操作,提高了用户的工作效率。

Description

一种基于动态编译的代码编译生成工具和一种动态编译方法
技术领域
本发明涉及计算机软件应用技术领域,具体地说是一种基于动态编译的代码编译生成工具和一种动态编译方法。
背景技术
由于传统的静态编译器存在执行文件体积庞大,运行期解析的方式运行性能较差等问题,在某些领域中动态编译受到了越来越多的青睐。动态编译具有按需编译生成,提高运行效率,优化软件空间,优化资源分配等优势。但现有的一些动态编译器使用起来十分繁琐,编写代码结构复杂且代码量巨大,对开发人员的能力要求比较高。如果有一种实现更为简单的动态编译工具,能够简化编码的工作量,并提高可读性,方便开发人员理解使用,优化开发体验,势必可以降低开发人员使用的门槛,提高工作效率,使动态编译的应用更为广泛。
发明内容
本发明的技术任务是针对以上不足之处,提供一种基于动态编译的代码编译生成工具和一种动态编译方法,可以简单、清晰的帮助开发人员使用动态编译的方式实现需求,优化开发体验。
本发明解决其技术问题所采用的技术方案是:
一种基于动态编译的代码编译生成工具,该工具实现代码的动态编译和生成,该工具包含以下步骤:
1)、按照程序集结构划分生成模块;
2)、支持生成文件类型和路径的选择;
3)、支持生成方法自定义扩展;
4)、支持导入文本的方式编译生成代码文件。
具体的,所述程序集结构包括程序集、命名空间、类/接口/枚举类、方法/属性/字段、标签;相应的,按照程序集结构划分生成模块,该工具基于此结构,划分成不同的生成模块,每一类生成模块负责其中对应部分的生成,划分的生成模块包括程序集生成模块、命名空间生成模块、类/接口/枚举类生成模块、方法/属性/字段生成模块、标签生成模块。其中每个模块包含一个或多个子模块,用户可自定义增删。
优选的,程序集生成模块中包含生成程序集中所需要的信息,包括程序集名称,引用的程序集集合,文件类型,生成类型,生成路径,及命名空间生成模块集合。具体描述如下:
优选的,命名空间生成模块中包含生成命名空间所需要的信息,包括命名空间名称,及包含的类/接口/枚举类生成模块。
优选的,类生成模块描述了类生成时需要的信息,包括类名称,实现接口集合,父类类型,修饰符类型,包含的字段/属性/方法生成模块,及标签生成模块;具体描述如下:
接口生成模块,描述了接口生成时需要的信息,包括接口名称,实现接口集合,修饰符类型,包含的字段/属性/方法生成模块,及标签生成模块;
枚举类生成模块描述了枚举类生成时需要的信息,包括枚举类名称,命名空间名称,父类类型,修饰符类型,以及枚举值字典。枚举值字典中的Key为枚举值索引号,Value为枚举值。
进一步的,
字段生成模块包含了生成字段所需要的信息,包括字段类型,字段名称,修饰符,及初始值语法树。具体描述如下:
属性生成模块包含了生成属性所需要的信息,包括属性类型,属性名称,修饰符,Get方法方法体语法树,是否包含Set方法,Set方法方法体语法树,是否显示实现,显示实现类型,及包含的标签生成模块。具体描述如下:
方法生成模块包含了生成方法所需要的信息,包括方法名称,方法返回值类型,修饰符,参数列表,是否显示实现,显示实现类型,及方法体语法树。
进一步的,所述的方法生成模块衍生出构造函数生成模块,包括类名称,修饰符,参数列表,构造函数初始化器类型,构造函数初始化器参数,构造函数方法体语法树。其中构造函数初始化器类型包含None,This,Base三种类型。
进一步的,标签生成模块包含了生成标签所需要的信息,包括标签名称,标签参数列表。
具体的,对于步骤2),支持生成文件类型和路径的选择,该工具支持的应用类型包括生成控制台应用、Windows窗体应用和类库,同时也支持生成到内存和生成到物理文件,其中生成到物理文件时,支持路径选择;
对于步骤3),支持生成方法自定义扩展,该工具提供扩展机制,可以屏蔽现有生成模块,将自定义模块注册到工具中,如果当前生成模块无法满足开发人员需求,开发人员可以继承相关生成模块的基类,并注册到生成工具当中,实现自定义扩展;
对于步骤4),支持导入文本的方式编译生成代码文件,该工具支持开发人员将已经编写好的文本格式的类或接口的代码直接导入到工具中,这样开发人员只需要配置相关的程序集和命名空间信息,就可以完成编译生成工作。用户将已编写好的文本格式的类或接口的代码直接导入到工具中并编译生成。
通过使用该编译生成工具,能够协助开发人员简单清晰的实现动态编译;且生成的程序集文件支持多种格式、多种存储方法,可供开发人员根据需求选择;当工具不能妈祖开发人员需求时,页可以使用扩展方式注册自定义生成模块。
本发明还公开了一种动态编译方法,该方法使用代码编译生成工具,实现代码的动态编译和生成,
代码生成时,通过代码编译生成工具按照程序集结构划分生成模块,生成相应的程序集结构;
程序集结构包括程序集、命名空间、类/接口/枚举类、方法/属性/字段、标签等。相应的,该工具划分的生成模块包括程序集生成模块、命名空间生成模块、类/接口/枚举类生成模块、方法/属性/字段生成模块、标签生成模块等。
程序集生成模块中包含生成程序集中所需要的信息,包括程序集名称,引用的程序集集合,文件类型,生成类型,生成路径,及命名空间生成模块集合。
命名空间生成模块中包含生成命名空间所需要的信息,包括命名空间名称,及包含的类/接口/枚举类生成模块。
类生成模块描述了类生成时需要的信息,包括类名称,实现接口集合,父类类型,修饰符类型,包含的字段/属性/方法生成模块,及标签生成模块。接口生成模块,描述了接口生成时需要的信息,包括接口名称,实现接口集合,修饰符类型,包含的字段/属性/方法生成模块,及标签生成模块。枚举类生成模块描述了枚举类生成时需要的信息,包括枚举类名称,命名空间名称,父类类型,修饰符类型,以及枚举值字典。枚举值字典中的Key为枚举值索引号,Value为枚举值。
方法生成模块包含了生成方法所需要的信息,包括方法名称,方法返回值类型,修饰符,参数列表,是否显示实现,显示实现类型,及方法体语法树。性生成模块包含了生成属性所需要的信息,包括属性类型,属性名称,修饰符,Get方法方法体语法树,是否包含Set方法,Set方法方法体语法树,是否显示实现,显示实现类型,及包含的标签生成模块。字段生成模块包含了生成字段所需要的信息,包括字段类型,字段名称,修饰符,及初始值语法树。
标签生成模块包含了生成标签所需要的信息,包括标签名称,标签参数列表。
该方法在代码生成时,支持生成文件类型和路径的选择,支持生成方法自定义扩展,支持导入文本的方式编译生成代码文件,用户将已编写好的文本格式的类或接口的代码直接导入到所述工具中编译生成。
支持的应用类型包括生成控制台应用、Windows窗体应用和类库,同时也支持生成到内存和生成到物理文件,其中生成到物理文件时,支持路径选择;
支持生成方法自定义扩展,可以屏蔽现有生成模块,将自定义模块注册到工具中,如果当前生成模块无法满足开发人员需求,开发人员可以继承相关生成模块的基类,并注册到生成工具当中,实现自定义扩展;
支持开发人员将已经编写好的文本格式的类或接口的代码直接导入到工具中,这样开发人员只需要配置相关的程序集和命名空间信息,就可以完成编译生成工作。
本发明的一种基于动态编译的代码编译生成工具和系统与现有技术相比,具有以下有益效果:
该工具按照程序集结构划分出结构清晰的生成模块,并封装常用工具类方法,同时支持生成文件类型和路径的选择,支持生成模块的自定义扩展,支持将类或接口的代码文本导入的方式编译生成文件。这样可以简单、清晰的帮助开发人员使用动态编译的方式实现需求,优化开发体验,降低了用户使用动态编译进行代码动态编译生成的门槛,简化了操作,提高了用户工作效率。
该工具能够协助开发人员简单清晰的实现动态编译的实现,且生成的程序集文件支持多种格式,多种存储方法,可供开发人员根据需求选择。另外,当工具不能满足开发人员需求时,也可以使用扩展方式注册自定义生成模块。该工具极大的简化了动态编译的操作,提高了工作效率,同时也能够保证数据创建的准确性和稳定性。相比于传统的静态编译方法,具有执行文件体积更精简,变异速度更快等优势,节省了系统资源。
具体实施方式
一种基于动态编译的代码编译生成工具,该工具实现代码的动态编译和生成,该工具包含以下步骤:
1)、按照程序集结构划分生成模块;
2)、支持生成文件类型和路径的选择;
3)、支持生成方法自定义扩展;
4)、支持导入文本的方式编译生成代码文件。
对于步骤1),所述程序集结构包括程序集、命名空间、类/接口/枚举类、方法/属性/字段、标签等。相应的,该工具划分的生成模块包括程序集生成模块、命名空间生成模块、类/接口/枚举类生成模块、方法/属性/字段生成模块、标签生成模块等。其中,
程序集生成模块中包含生成程序集中所需要的信息,包括程序集名称,引用的程序集集合,文件类型,生成类型,生成路径,及命名空间生成模块集合。
程序集名称,要生成的程序集名称,并用于生成物理文件的文件名;
引用的程序集集合,当前要生成的程序集所需要引用的其他程序集,用于文件的编译生成;
文件类型,生成的文件类型。目前包括控制台应用,Windows窗体应用,类库;
生成类型,文件生成的形式。目前包括生成到内存中,和生成到本地两种类型;
生成路径,文件生成的物理路径。选择生成到本地的方式时,需要设置生成路径;
命名空间生成模块集合,该程序集中所包含的所有命名空间生成模块。
命名空间生成模块中包含生成命名空间所需要的信息,包括命名空间名称,及包含的类/接口/枚举类生成模块。
类生成模块描述了类生成时需要的信息,包括类名称,实现接口集合,父类类型,修饰符类型,包含的字段/属性/方法生成模块,及标签生成模块。
类名称,要生成的类的类名;
实现接口集合,要生成的类所实现的接口类型的集合;
基类类型,要生成的类所继承的基类的类型;
修饰符类型,要生成的类的修饰符类型,可以有一个或多个;
子生成模块集合,包含该类中,所有字段、属性、方法的生成模块;
标签生成模块,要生成的类中记录的标签的生成模块,可以没有,也可以为一个或多个。
接口生成模块,描述了接口生成时需要的信息,包括接口名称,实现接口集合,修饰符类型,包含的字段/属性/方法生成模块,及标签生成模块;
枚举类生成模块描述了枚举类生成时需要的信息,包括枚举类名称,命名空间名称,父类类型,修饰符类型,以及枚举值字典。枚举值字典中的Key为枚举值索引号,Value为枚举值。
字段生成模块包含了生成字段所需要的信息,包括字段类型,字段名称,修饰符,及初始值语法树。
字段名称,要生成的字段的名称;
字段类型,要生成的字段的类型;
修饰符,要生成的字段的修饰符,可以为一个或多个;
初始值语法树,要生成的字段的初始值,如果不设置,则字段初始值为字段类型默认的初始值。
属性生成模块包含了生成属性所需要的信息,包括属性类型,属性名称,修饰符,Get方法方法体语法树,是否包含Set方法,Set方法方法体语法树,是否显示实现,显示实现类型,及包含的标签生成模块。
属性类型,要生成的属性的类型;
属性名称,要生成的属性的名称;
修饰符,要生成的属性的修饰符,可以为一个或多个;
Get方法方法体语法树,该属性Get方法的方法体,可以为空;
是否包含Set方法,表示该属性是否具有Set方法,默认是“否”,如果该属性需要Set方法,则需要将该信息更新为“是”;
Set方法方法体语法树,该属性Set方法的方法体,当不包含Set方法,或者Get方法方法体语法树为空时,该信息可以为空,否则都需要设置;
是否显示实现,要生成的属性是否是显示实现,默认是“否”,如果该属性是显示实现,则需要将该信息更新为“是”;
显示实现类型,是否显示实现为“是”时,需要设置显示实现的类型;
标签生成模块,要生成的属性的标签的生成模块,可以为空。
方法生成模块包含了生成方法所需要的信息,包括方法名称,方法返回值类型,修饰符,参数列表,是否显示实现,显示实现类型,及方法体语法树。
方法名称,要生成的方法的名称。
方法返回值类型,要生成的方法的返回值类型。
修饰符,要生成的方法的修饰符,可以为一个或多个;
参数列表,要生成方法的参数列表,其中参数信息中包括:参数名称,参数类型,输入方式等;
是否显示实现,要生成的方法是否是显示实现,默认是“否”,如果该方法是显示实现,则需要将该信息更新为“是”;
显示实现类型,是否显示实现为“是”时,需要设置显示实现的类型;
方法体语法树,要生成方法的方法体。
所述的方法生成模块衍生出构造函数生成模块,包括类名称,修饰符,参数列表,构造函数初始化器类型,构造函数初始化器参数,构造函数方法体语法树。其中构造函数初始化器类型包含None,This,Base三种类型。
标签生成模块包含了生成标签所需要的信息,包括标签名称,标签参数列表。
对于步骤2),支持生成文件类型和路径的选择,该工具支持的应用类型包括生成控制台应用、Windows窗体应用和类库,同时也支持生成到内存和生成到物理文件,其中生成到物理文件时,支持路径选择;
对于步骤3),支持生成方法自定义扩展,该工具提供扩展机制,可以屏蔽现有生成模块,将自定义模块注册到工具中,如果当前生成模块无法满足开发人员需求,开发人员可以继承相关生成模块的基类,并注册到生成工具当中,实现自定义扩展;
对于步骤4),支持导入文本的方式编译生成代码文件,该工具支持开发人员将已经编写好的文本格式的类或接口的代码直接导入到工具中,这样开发人员只需要配置相关的程序集和命名空间信息,就可以完成编译生成工作。用户将以编写好的文本格式的类或接口的代码直接导入到工具中并编译生成。
通过使用该编译生成工具,能够协助开发人员简单清晰的实现动态编译;且生成的程序集文件支持多种格式、多种存储方法,可供开发人员根据需求选择;当工具不能妈祖开发人员需求时,页可以使用扩展方式注册自定义生成模块。
一种动态编译方法,该方法使用上述的代码编译生成工具,实现代码的动态编译和生成,
代码生成时,通过所述工具按照程序集结构划分生成模块,生成相应的程序集结构;程序集结构包括程序集、命名空间、类/接口/枚举类、方法/属性/字段、标签等。相应的,该工具划分的生成模块包括程序集生成模块、命名空间生成模块、类/接口/枚举类生成模块、方法/属性/字段生成模块、标签生成模块等。
程序集生成模块中包含生成程序集中所需要的信息,包括程序集名称,引用的程序集集合,文件类型,生成类型,生成路径,及命名空间生成模块集合。
命名空间生成模块中包含生成命名空间所需要的信息,包括命名空间名称,及包含的类/接口/枚举类生成模块。
类生成模块描述了类生成时需要的信息,包括类名称,实现接口集合,父类类型,修饰符类型,包含的字段/属性/方法生成模块,及标签生成模块。接口生成模块,描述了接口生成时需要的信息,包括接口名称,实现接口集合,修饰符类型,包含的字段/属性/方法生成模块,及标签生成模块。枚举类生成模块描述了枚举类生成时需要的信息,包括枚举类名称,命名空间名称,父类类型,修饰符类型,以及枚举值字典。枚举值字典中的Key为枚举值索引号,Value为枚举值。
方法生成模块包含了生成方法所需要的信息,包括方法名称,方法返回值类型,修饰符,参数列表,是否显示实现,显示实现类型,及方法体语法树。性生成模块包含了生成属性所需要的信息,包括属性类型,属性名称,修饰符,Get方法方法体语法树,是否包含Set方法,Set方法方法体语法树,是否显示实现,显示实现类型,及包含的标签生成模块。字段生成模块包含了生成字段所需要的信息,包括字段类型,字段名称,修饰符,及初始值语法树。
标签生成模块包含了生成标签所需要的信息,包括标签名称,标签参数列表。
该方法在代码生成时,支持生成文件类型和路径的选择,支持生成方法自定义扩展,支持导入文本的方式编译生成代码文件,用户将已编写好的文本格式的类或接口的代码直接导入到所述工具中编译生成。
支持的应用类型包括生成控制台应用、Windows窗体应用和类库,同时也支持生成到内存和生成到物理文件,其中生成到物理文件时,支持路径选择;
支持生成方法自定义扩展,可以屏蔽现有生成模块,将自定义模块注册到工具中,如果当前生成模块无法满足开发人员需求,开发人员可以继承相关生成模块的基类,并注册到生成工具当中,实现自定义扩展;
支持开发人员将已经编写好的文本格式的类或接口的代码直接导入到工具中,这样开发人员只需要配置相关的程序集和命名空间信息,就可以完成编译生成工作。
下面通过一个简单的例子,对本发明所述的编译生成工具的实施过程进行描述,使其目标、特征和优点更加清晰、易懂。
一、假设要生成一个程序集的类库文件“SnytaxTest.dll”,该程序集中存在一个类“SnytaxTestClass”,命名空间为“SnytaxTest.Class”,类中包含方法“SnytaxTestMethod”,修饰符为“public”,没有参数,方法体内容为输出一个“HelloWorld”。
二、创建程序集生成模块“SnytaxTestAssemblyGenerator”类,程序集名称为“SnytaxTest”,生成文件类型为选择类库(“DynamicallyLinkedLibrary”),生成类型为生成到本地“Local”,生成路径为D盘SnytaxTest文件夹,命名空间生成模块为“SnytaxTestNamespaceGenerator”。
三、创建命名空间生成模块“SnytaxTestNamespaceGenerator”类。命名空间名称为“SnytaxTest.Class”,并包含一个类生成模块“SnytaxTestClassGenerator”。
四、创建类生成模块“SnytaxTestClassGenerator”类。类名称为“SnytaxTestClass”,修饰符为“public”,该类没有基类和接口,不需要设置基类和接口类型。添加一个方法生成模块“SnytaxTestMethodGenerator”。
五、创建类生成模块“SnytaxTestMethodGenerator”类。方法名设置为“SnytaxTestMethod”,修饰符设置为“public”,返回值类型设置为“typeof(void)”。编写方法体代码并设置到方法体中。方法体语法树结构如下图:
六、将编写的各生成模块放入工具运行框架中,执行工具运行,即可动态编译程序集“SnytaxTest”,并生成文件“SnytaxTest.dll”到D盘SnytaxTest文件夹下。
以上就是一种最为简单的编译生成工具的案例,根据这个案例,能够大体的了解使用编译生成工具的流程。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (10)

1.一种基于动态编译的代码编译生成工具,该工具实现代码的动态编译和生成,其特征在于该工具包含以下步骤:
1)、按照程序集结构划分生成模块;
2)、支持生成文件类型和路径的选择;
3)、支持生成方法自定义扩展;
4)、支持导入文本的方式编译生成代码文件。
2.根据权利要求1所述的一种基于动态编译的代码编译生成工具,其特征在于所述程序集结构包括程序集、命名空间、类/接口/枚举类、方法/属性/字段、标签;相应的,该工具生成的模块包括程序集生成模块、命名空间生成模块、类/接口/枚举类生成模块、方法/属性/字段生成模块、标签生成模块。
3.根据权利要求2所述的一种基于动态编译的代码编译生成工具,其特征在于程序集生成模块中包含生成程序集中所需要的信息,包括程序集名称,引用的程序集集合,文件类型,生成类型,生成路径,及命名空间生成模块集合。
4.根据权利要求2所述的一种基于动态编译的代码编译生成工具,其特征在于命名空间生成模块中包含生成命名空间所需要的信息,包括命名空间名称,及包含的类/接口/枚举类生成模块。
5.根据权利要求2所述的一种基于动态编译的代码编译生成工具,其特征在于类生成模块描述了类生成时需要的信息,包括类名称,实现接口集合,父类类型,修饰符类型,包含的字段/属性/方法生成模块,及标签生成模块;
接口生成模块,描述了接口生成时需要的信息,包括接口名称,实现接口集合,修饰符类型,包含的字段/属性/方法生成模块,及标签生成模块;
枚举类生成模块描述了枚举类生成时需要的信息,包括枚举类名称,命名空间名称,父类类型,修饰符类型,以及枚举值字典。
6.根据权利要求2所述的一种基于动态编译的代码编译生成工具,其特征在于方法生成模块包含了生成方法所需要的信息,包括方法名称,方法返回值类型,修饰符,参数列表,是否显示实现,显示实现类型,及方法体语法树;
属性生成模块包含了生成属性所需要的信息,包括属性类型,属性名称,修饰符,Get方法方法体语法树,是否包含Set方法,Set方法方法体语法树,是否显示实现,显示实现类型,及包含的标签生成模块;
字段生成模块包含了生成字段所需要的信息,包括字段类型,字段名称,修饰符,及初始值语法树。
7.根据权利要求6所述的一种基于动态编译的代码编译生成工具,其特征在于所述的方法生成模块衍生出构造函数生成模块,包括类名称,修饰符,参数列表,构造函数初始化器类型,构造函数初始化器参数,构造函数方法体语法树。
8.根据权利要求2所述的一种基于动态编译的代码编译生成工具,其特征在于标签生成模块包含了生成标签所需要的信息,包括标签名称,标签参数列表。
9.根据权利要求1所述的一种基于动态编译的代码编译生成工具,其特征在于该工具支持的应用类型包括生成控制台应用、Windows窗体应用和类库,支持生成到内存和生成到物理文件,生成物理文件时支持路径选择;
该工具支持生成方法自定义扩展,屏蔽现有生成模块,将自定义模块注册到工具中;
该工具支持用户将已编写好的文本格式的类或接口的代码直接导入到工具中并编译生成。
10.一种动态编译方法,其特征在于该方法使用代码编译生成工具,实现代码的动态编译和生成,
代码生成时,通过代码编译生成工具按照程序集结构划分生成模块,生成相应的程序集结构;
该方法在代码生成时,支持生成文件类型和路径的选择,支持生成方法自定义扩展,支持导入文本的方式编译生成代码文件,用户将已编写好的文本格式的类或接口的代码直接导入到所述工具中编译生成。
CN201910232583.3A 2019-03-26 2019-03-26 一种基于动态编译的代码编译生成工具和一种动态编译方法 Pending CN109947430A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910232583.3A CN109947430A (zh) 2019-03-26 2019-03-26 一种基于动态编译的代码编译生成工具和一种动态编译方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910232583.3A CN109947430A (zh) 2019-03-26 2019-03-26 一种基于动态编译的代码编译生成工具和一种动态编译方法

Publications (1)

Publication Number Publication Date
CN109947430A true CN109947430A (zh) 2019-06-28

Family

ID=67011672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910232583.3A Pending CN109947430A (zh) 2019-03-26 2019-03-26 一种基于动态编译的代码编译生成工具和一种动态编译方法

Country Status (1)

Country Link
CN (1) CN109947430A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874213A (zh) * 2019-11-12 2020-03-10 广州银汉科技有限公司 一静态强类型语言的运行时类型扩展与反射方法
CN114327400A (zh) * 2021-12-13 2022-04-12 中国农业银行股份有限公司上海市分行 基于java动态代理实现合作方业务快速落地的敏捷开发方法及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104714788A (zh) * 2013-12-12 2015-06-17 腾讯科技(深圳)有限公司 一种软件安装包自动生成的方法及装置
CN104881396A (zh) * 2015-06-05 2015-09-02 南京南瑞继保电气有限公司 图形化程序的编译文件形成方法
CN105164641A (zh) * 2012-12-31 2015-12-16 微软技术许可有限责任公司 扩展开发环境
CN106293776A (zh) * 2016-10-28 2017-01-04 黑龙江省电力科学研究院 一种电力系统emtpe辅助编译系统
JP2017204080A (ja) * 2016-05-10 2017-11-16 富士通株式会社 情報処理装置、コンパイル方法及びコンパイラプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105164641A (zh) * 2012-12-31 2015-12-16 微软技术许可有限责任公司 扩展开发环境
CN104714788A (zh) * 2013-12-12 2015-06-17 腾讯科技(深圳)有限公司 一种软件安装包自动生成的方法及装置
CN104881396A (zh) * 2015-06-05 2015-09-02 南京南瑞继保电气有限公司 图形化程序的编译文件形成方法
JP2017204080A (ja) * 2016-05-10 2017-11-16 富士通株式会社 情報処理装置、コンパイル方法及びコンパイラプログラム
CN106293776A (zh) * 2016-10-28 2017-01-04 黑龙江省电力科学研究院 一种电力系统emtpe辅助编译系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHANGUNCLE: "理解C#反射机制", 《HTTPS://BLOG.CSDN.NET/XIAOUNCLE/ARTICLE/DETAILS/52983924》 *
佚名: "The Top 190 Dotnetcore Open Source Projects", 《HTTPS://AWESOMEOPENSOURCE.COM/PROJECTS/DOTNETCORE?》 *
张安东等: "《新思维计算机教育系列教材 LINUX操作系统基础教程》", 30 June 2007 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874213A (zh) * 2019-11-12 2020-03-10 广州银汉科技有限公司 一静态强类型语言的运行时类型扩展与反射方法
CN114327400A (zh) * 2021-12-13 2022-04-12 中国农业银行股份有限公司上海市分行 基于java动态代理实现合作方业务快速落地的敏捷开发方法及介质

Similar Documents

Publication Publication Date Title
US7610545B2 (en) Annotations for tracking provenance
US8141036B2 (en) Customized annotation editing
CN106462425B (zh) 使用复常量的方法和系统
CN1181428C (zh) 软件翻译的内省编辑器系统、程序和方法
US7162709B2 (en) System and method for common code generation
US8473971B2 (en) Type inference and type-directed late binding
TWI533217B (zh) 用於運行時間系統的電腦實施方法及電腦可讀取儲存記憶體
JP5974191B2 (ja) ソース位置を欠くコードセグメントを有するソースコードをモデル化する方法
US12032941B2 (en) Method and system for updating legacy software
US10983771B1 (en) Quality checking inferred types in a set of code
CN109947430A (zh) 一种基于动态编译的代码编译生成工具和一种动态编译方法
RU2347269C2 (ru) Система и способ декларативного определения и использования подклассов внутри разметки
CN111666095A (zh) Java反编译的实现方法、系统、设备及存储介质
CN113138755A (zh) 一种json序列化和反序列化的优化方法及系统
CN111176658B (zh) 基于元对象机制的AADL到Simulink模型自动转换方法
CN114879957A (zh) 一种利用可扩展标签语言编辑Eclipse界面及调用工具的方法
CN106815003A (zh) 一种计算机语言的交互系统及交互方法
US8135943B1 (en) Method, apparatus, and computer-readable medium for generating a dispatching function
Mössenböck C# to the Point
CN114691131A (zh) 针对用户界面ui文件的框架代码文件生成方法及装置
Gill Building Web Applications with C# and. NET: A Complete Reference
CN116880837A (zh) 一种wpf界面多语言实现系统及方法
CN115878108A (zh) 一种无需修改代码完成业务系统表单定制开发的方法
CN114675833A (zh) 基于iOS的属性声明代码的自动生成方法及装置
Rao Programming with C#: Concepts and Practice

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190628

RJ01 Rejection of invention patent application after publication