一种基于C语言方式实现多入口多接口的方法及系统技术方案

技术编号:31232574 阅读:19 留言:0更新日期:2021-12-08 10:09
本发明专利技术公开了一种基于C语言方式实现多入口多接口的方法及系统,涉及IC卡领域,该方法包括创建可解析C语言的编译器以及可解析C语言字节码的操作系统,且所述操作系统包括多个用以支撑上层应用的功能模块;基于C语言,编写支持运行时入口方法的应用程序;通过编译器对编写的应用程序进行编译,生成字节码;将生成的字节码下载至操作系统,操作系统解析字节码并运行。本发明专利技术能够使得C语言编写的应用跨平台下载,使得应用升级更便利,扩展性更好。扩展性更好。扩展性更好。

【技术实现步骤摘要】
一种基于C语言方式实现多入口多接口的方法及系统


[0001]本专利技术涉及IC卡领域,具体涉及一种基于C语言方式实现多入口多接口的方法及系统。

技术介绍

[0002]当前,IC(Integrated Circuit,集成电路)卡应用程序的编写语言一般包括C语言和Java语言。对于C语言或Java语言编写的应用程序主要存在以下问题:对于C语言编写的应用程序,其仅能通过Main方法作为入口,应用程序集成固化后修改难度较大且应用程序不支持跨平台下载和使用;对于Java语言编写的应用程序,其虽然能够支持跨平台下载和使用,但需要完全依赖于Java语言提供的配套基础环境,存在较大的局限性。

技术实现思路

[0003]针对现有技术中存在的缺陷,本专利技术的目的在于提供一种基于C语言方式实现多入口多接口的方法及系统,能够使得C语言编写的应用跨平台下载,使得应用升级更便利,扩展性更好。
[0004]为达到以上目的,本专利技术提供的一种基于C语言方式实现多入口多接口的方法,具体包括以下步骤:
[0005]创建可解析C语言的编译器以及可解析C语言字节码的操作系统,且所述操作系统包括多个用以支撑上层应用的功能模块;
[0006]基于C语言,编写支持运行时入口方法的应用程序;
[0007]通过编译器对编写的应用程序进行编译,生成字节码;
[0008]将生成的字节码下载至操作系统,操作系统解析字节码并运行。
[0009]在上述技术方案的基础上,所述功能模块包括硬件层功能模块、操作系统层功能模块、虚拟机层功能模块、运行环境层功能模块、API接口层功能模块和应用层功能模块。
[0010]在上述技术方案的基础上,
[0011]所述硬件层功能模块用于硬件接口的驱动实现;
[0012]所述操作系统层功能模块用于进行硬件与使用的衔接实现;
[0013]所述虚拟机层功能模块用于定义字节码规范以及实现Card虚拟机;
[0014]所述运行环境层功能模块用于定义卡片运行时规范、命令分发机制和防火墙规则;
[0015]所述API接口层功能模块用于定义应用开发接口;
[0016]所述应用层功能模块用于上层应用实现。
[0017]在上述技术方案的基础上,所述入口方法包括install方法、select方法、process方法、deselect方法和uninstall方法。
[0018]在上述技术方案的基础上,
[0019]所述install方法用于进行任务资源的申请以及应用程序的注册,且当install方
法被调用时,每次仅注册一个应用程序;
[0020]所述select方法用于对应用程序进行选定;
[0021]所述process方法用于将逻辑通道中的APDU发送给被select方法选定的应用程序。
[0022]在上述技术方案的基础上,
[0023]所述deselect方法用于执行清除操作;
[0024]所述uninstall方法用于应用程序被删除前获取应用程序的关联关系。
[0025]在上述技术方案的基础上,所述应用程序包括头文件、变量的申明和定义,以及函数的声明和定义。
[0026]在上述技术方案的基础上,所述应用程序还可实现多个PROCESS入口,且每个PROCESS入口映射操作系统的一个ID入口。
[0027]本专利技术提供的一种基于C语言方式实现多入口多接口的系统,包括:
[0028]创建模块,其用于创建可解析C语言的编译器以及可解析C语言字节码的操作系统,且所述操作系统包括多个用以支撑上层应用的功能模块;
[0029]编写模块,其用于基于C语言,编写支持运行时入口方法的应用程序;
[0030]编译模块,其用于驱使编译器对编写的应用程序进行编译,生成字节码;
[0031]解析模块,其用于将生成的字节码下载至操作系统,驱使操作系统解析字节码并运行。
[0032]在上述技术方案的基础上,
[0033]所述功能模块包括硬件层功能模块、操作系统层功能模块、虚拟机层功能模块、运行环境层功能模块、API接口层功能模块和应用层功能模块;
[0034]所述入口方法包括install方法、select方法、process方法、deselect方法和uninstall方法。
[0035]与现有技术相比,本专利技术的优点在于:应用程序在编写时增加入口方法,且应用程序的功能实现不再依赖于Java虚拟机、Java运行时环境和Java API(Application Programming Interface,应用程序编程接口),应用程序通过C语言方式编写后转换成可执行下载脚本下载到操作系统,做到C语言编写的应用跨平台下载,使得应用升级更便利,扩展性更好。
附图说明
[0036]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037]图1为本专利技术实施例中一种基于C语言方式实现多入口多接口的方法的流程图。
具体实施方式
[0038]本专利技术实施例提供一种基于C语言方式实现多入口多接口的方法,应用程序在编写时增加入口方法,且应用程序的功能实现不再依赖于Java虚拟机、Java运行时环境和
Java API(Application Programming Interface,应用程序编程接口),应用程序通过C语言方式编写后转换成可执行下载脚本下载到操作系统,做到C语言编写的应用跨平台下载,使得应用升级更便利,扩展性更好。本专利技术实施例相应地还提供了一种基于C语言方式实现多入口多接口的系统。
[0039]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0040]参见图1所示,本专利技术实施例提供的一种基于C语言方式实现多入口多接口的方法,通过支持C语言编译器生成字节码方式下载到IC卡运行环境,从而达到支持多入口、多接口方式目的,使得通过C语言实现的应用程序也能进行下载、安装、删除等操作。具体包括以下步骤:
[0041]S1:创建可解析C语言的编译器以及可解析C语言字节码的操作系统,且所述操作系统包括多个用以支撑上层应用的功能模块;
[0042]本专利技术实施例中,功能模块包括硬件层功能模块、操作系统层功能模块、虚拟机层功能模块、运行环境层功能模块、API接口层功能模块和应用层功能模块,且不同的功能模块负责不同的功能。
[0043]具体的,硬件层功本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于C语言方式实现多入口多接口的方法,其特征在于,具体包括以下步骤:创建可解析C语言的编译器以及可解析C语言字节码的操作系统,且所述操作系统包括多个用以支撑上层应用的功能模块;基于C语言,编写支持运行时入口方法的应用程序;通过编译器对编写的应用程序进行编译,生成字节码;将生成的字节码下载至操作系统,操作系统解析字节码并运行。2.如权利要求1所述的一种基于C语言方式实现多入口多接口的方法,其特征在于:所述功能模块包括硬件层功能模块、操作系统层功能模块、虚拟机层功能模块、运行环境层功能模块、API接口层功能模块和应用层功能模块。3.如权利要求2所述的一种基于C语言方式实现多入口多接口的方法,其特征在于:所述硬件层功能模块用于硬件接口的驱动实现;所述操作系统层功能模块用于进行硬件与使用的衔接实现;所述虚拟机层功能模块用于定义字节码规范以及实现Card虚拟机;所述运行环境层功能模块用于定义卡片运行时规范、命令分发机制和防火墙规则;所述API接口层功能模块用于定义应用开发接口;所述应用层功能模块用于上层应用实现。4.如权利要求1所述的一种基于C语言方式实现多入口多接口的方法,其特征在于:所述入口方法包括install方法、select方法、process方法、deselect方法和uninstall方法。5.如权利要求4所述的一种基于C语言方式实现多入口多接口的方法,其特征在于:所述install方法用于进行任务资源的申请以及应用程序的注册,且当install方法被调用时,每次仅注册一个应用程序;所述select方法用于对应用...

【专利技术属性】
技术研发人员:董逢华何涛涂贝贝苏昆肖灵胡瑞璟
申请(专利权)人:武汉天喻信息产业股份有限公司
类型:发明
国别省市:

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

1