【技术实现步骤摘要】
本专利技术涉及通信领域的计算机技术,尤其涉及一种通过脚本程序访问宿主程序的方法及其系统,以及预编译器。
技术介绍
随着市场竞争的加剧和软件技术的发展,客户对应用系统的灵活性提出了很高的要求,要求能够在不修改程序的情况下,通过调整系统参数、修改业务脚本的方式,迅速适应市场的变化,实现新的业务需求。在应用系统中嵌入业务脚本语言编译器是目前常用的加强系统灵活性的方法,图1给出了嵌入业务脚本语言编译器的应用程序总体结构示意图。图1中的业务脚本编译器和虚拟机,与应用程序编译在同一进程内,应用程序中包含了业务脚本语言的编译和执行环境,应用程序成为业务脚本程序的宿主程序。业务脚本编译器负责将业务脚本程序代码编译成某种中间代码(如三地址码);虚拟机是业务脚本的执行环境,能够执行由脚本编译器生成的中间代码;共享类和私有类都是由在应用程序中用原生编程语言(如:C++语言)实现的领域类,对业务脚本程序而言,共享类和私有类都是宿主程序中的类。共享类是指能够在业务脚本程序中直接访问的类,私有类是不能在业务脚本程序中直接访问的类。业务脚本程序在应用程序中被处理和执行的过程可如图2所示。从图 ...
【技术保护点】
一种通过脚本程序访问宿主程序的方法,其特征在于,包括: 为宿主程序中的共享类创建对应的共享类适配器; 当执行脚本程序中访问宿主程序的共享类的语句时,调用与所述共享类对应的共享类适配器,并通过所述共享类适配器访问对应的共享类。
【技术特征摘要】
1、一种通过脚本程序访问宿主程序的方法,其特征在于,包括:为宿主程序中的共享类创建对应的共享类适配器;当执行脚本程序中访问宿主程序的共享类的语句时,调用与所述共享类对应的共享类适配器,并通过所述共享类适配器访问对应的共享类。2、如权利要求1所述的方法,其特征在于,所述共享类适配器包括对象创建接口模块和方法调用接口模块;所述通过共享类适配器访问对应的共享类,具体为:当执行所述脚本程序中创建共享类的共享对象的语句时,调用与所述共享类对应的共享类适配器的对象创建接口模块,并通过该接口模块调用所述共享类中的构造函数,生成所述共享类的共享对象;当执行所述脚本程序中调用共享类的方法的语句时,调用与所述共享类对应的共享类适配器的方法调用接口模块,并通过该接口模块调用所述共享类中的相应方法函数。3、如权利要求2所述的方法,其特征在于,所述调用与共享类对应的共享类适配器的对象创建接口模块,并通过该接口模块调用所述共享类中的构造函数的过程,具体为:根据共享类的类名实例化对应的共享类适配器,得到与所述共享类对应的共享类适配器对象;调用所述共享类适配器对象的对象创建接口模块;所述对象创建接口模块调用所述共享类中的构造函数。4、如权利要求2所述的方法,其特征在于,所述调用与共享类对应的共享类适配器的方法调用接口模块,并通过该接口模块调用所述共享类中的相应方法函数的过程,具体为:根据共享类的类名实例化对应的共享类适配器,得到与所述共享类对应的共享类适配器对象;调用所述共享类适配器对象的方法调用接口模块;所述方法调用接口模块根据所述脚本程序中指示调用的方法函数名称,调用所述共享类中的相应方法函数。5、如权利要求1所述的方法,其特征在于,当执行脚本程序中访问宿主程序的共享类的语句时,包括步骤:将所述脚本程序编译为中间代码;执行所述中间代码,并在执行过程中,调用与所述共享类对应的共享类适配器,通过所述共享类适配器访问对应的共享类。6、如权利要求1所述的方法,其特征在于,所述为宿主程序中的共享类创建对应的共享类适配器,具体为:通过预编译器,根据共享类的头文件得到共享类的结构,并根据共享类的结构生成共享类适配器的源代码。7、如权利要求6所述的方法,其特征在于,所述通过预编译器,根据共享类的头文件得到共享类的结构,具体为:通过预编译器,根据共享...
【专利技术属性】
技术研发人员:杨锋镝,
申请(专利权)人:华为软件技术有限公司,
类型:发明
国别省市:84[中国|南京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。