64位程序的运行实现方法、装置和系统的制作方法
【技术领域】
[0001]本发明涉及计算机软件开发领域,特别是指一种64位程序的运行实现方法、装置和系统。
【背景技术】
[0002]目前人们电脑上所使用的Windows操作系统,既有32位也有64位系统。对于64位系统,尽管提供一种硬件兼容模式可以让一部分32位程序在64位系统上正常运行,但64位程序却不能调用32位底层应用软件模块,如32位DLL (动态库)等。
[0003]在这样的技术背景下,Windows软件开发商为了让所有用户都能够使用自身的软件,需要同时支持32位和64位两种操作系统,通常的做法是开发32位和64位两套应用软件和模块。这样做有三个明显的缺陷:
[0004]1)同样功能的底层应用软件模块,如DLL等,需要开发两份,一份32位、一份64位,开发工作量翻倍;
[0005]2)对软件的修改,也要同时修改两份,软件维护的工作量也翻倍;
[0006]3)对于想要将现有的一套32位软件,迀移到64位系统,需要对大量底层应用软件模块,如DLL等,做二次开发,费时费力。
【发明内容】
[0007]本发明提供一种64位程序的运行实现方法、装置和系统,该方法能够使64位程序调用32位底层应用软件模块,并减少对64位程序的开发以及维护的工作量,提高工作效率。
[0008]为解决上述技术问题,本发明提供技术方案如下:
[0009]—种64位程序的运行实现方法,包括:
[0010]步骤S101:当需要调用底层应用软件模块时,通过进程间通讯技术向32位中间插件发送指令,使所述32位中间插件通过直接调用的方式,将所述指令传送给所述底层应用软件模块,其中所述指令包括数据和/或命令;
[0011]步骤S102:通过进程间通讯技术接收所述32位中间插件返回的所述底层应用软件模块根据所述指令产生的结果。
[0012]一种64位程序的运行实现方法,包括:
[0013]步骤S201:通过进程间通讯技术接收64位程序需要调用底层应用软件模块时发送的指令,其中所述指令包括数据和/或命令;
[0014]步骤S202:通过直接调用的方式将所述指令传送给所述底层应用软件模块;
[0015]步骤S203:接收所述底层应用软件模块根据所述指令产生的结果;
[0016]步骤S204:通过进程间通讯技术将所述结果返回64位程序。
[0017]一种64位程序的运行实现装置,包括:
[0018]第一发送模块,用于当需要调用底层应用软件模块时,通过进程间通讯技术向32位中间插件发送指令,使所述32位中间插件通过直接调用的方式,将所述指令传送给所述底层应用软件模块,其中所述指令包括数据和/或命令;
[0019]第一接收模块,用于通过进程间通讯技术接收所述32位中间插件返回的所述底层应用软件模块根据所述指令产生的结果。
[0020]—种32位中间插件,包括:
[0021]第二接收模块,用于通过进程间通讯技术接收64位程序需要调用底层应用软件模块时发送的指令,其中所述指令包括数据和/或命令;
[0022]第二发送模块,用于通过直接调用的方式将所述指令传送给所述底层应用软件模块;
[0023]第三接收模块,用于接收所述底层应用软件模块根据所述指令产生的结果;
[0024]第三发送模块,用于通过进程间通讯技术将所述结果返回64位程序。
[0025]一种64位程序的运行实现系统,包括上述64位程序的运行实现装置以及上述32位中间插件,所述64位程序的运行实现装置与所述32位中间插件通过进程间通讯技术通讯。
[0026]本发明具有以下有益效果:
[0027]与现有技术相比,本发明的64位程序的运行实现方法中,当64位程序需要调用底层应用软件模块时,通过进程间通讯技术向32位中间插件发送指令,该指令包括数据和/或命令;32位中间插件接收该指令后,通过直接调用的方式将指令传送给底层应用软件模块,并且接收底层应用软件模块根据该指令产生的结果,最后将该结果通过进程间通讯技术返回64位程序。
[0028]因为32位中间插件能够调用32位底层应用软件模块,故通过该方法能够使64位程序调用32位底层应用软件模块;
[0029]并且同样功能的底层应用软件模块只需开发一份32位的即可,不用重复开发64位的,减少了开发的工作量,提高工作效率;同样的,对于想要将现有的一套32位软件,迀移到64位系统,直接使用已有的32位底层应用软件模块即可,不需要对底层应用软件模块做二次开发(开发成64位的),进一步减少了开发的工作量,提高工作效率;
[0030]对软件进行维护时,只需要维护一份32位底层应用软件模块即可,减少了维护的工作量,提高工作效率。
[0031]故本发明的64位程序的运行实现方法能够使64位程序调用32位底层应用软件模块,并减少对64位程序的开发以及维护的工作量,提高工作效率。
【附图说明】
[0032]图1为本发明的64位程序的运行实现方法的流程图一;
[0033]图2为本发明的64位程序的运行实现方法的流程图二 ;
[0034]图3为本发明的64位程序的运行实现方法的流程图三;
[0035]图4为本发明的64位程序的运行实现装置的结构图一;
[0036]图5为本发明的64位程序的运行实现装置的结构图二 ;
[0037]图6为本发明的32位中间插件的结构图;
[0038]图7为本发明的64位程序的运行实现系统的结构图。
【具体实施方式】
[0039]为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0040]—方面,本发明提供一种64位程序的运行实现方法,如图1所示,包括:
[0041]步骤S101:当需要调用底层应用软件模块时,通过进程间通讯技术向32位中间插件发送指令,使32位中间插件通过直接调用的方式,将指令传送给底层应用软件模块,其中指令包括数据和/或命令;
[0042]步骤S102:通过进程间通讯技术接收32位中间插件返回的底层应用软件模块根据指令产生的结果。
[0043]与现有技术相比,本发明的64位程序的运行实现方法中,当64位程序需要调用底层应用软件模块时,通过进程间通讯技术向32位中间插件发送指令,该指令包括数据和/或命令;32位中间插件接收该指令后,将该指令解析后,通过直接调用的方式将指令传送给底层应用软件模块,并且接收底层应用软件模块根据该指令产生的结果,最后将该结果通过进程间通讯技术返回64位程序。
[0044]因为32位中间插件能够调用32位底层应用软件模块,故通过该方法能够使64位程序调用32位底层应用软件模块;
[0045]并且同样功能的底层应用软件模块只需开发一份32位的即可,不用重复开发64位的,减少了开发的工作量,提高工作效率;同样的,对于想要将现有的一套32位软件,迀移到64位系统,直接使用已有的32位底层应用软件模块即可,不需要对底层应用软件模块做二次开发(开发成64位的),进一步减少了开发的工作量,提高工作效率;
[0046]对软件进行维护时,只需要维护一份32位底层应用软件模块即可,减少了维护的工作量,提高工作效率。
[0047]故本发明的64位程序的运行实现方法能够使64位程序调用32位底层应用软件模块,并减少对64位程序的开发以及维护的工作量,提高工作效率。
[0048]作为本发明的64位程序的运行实现方法的一种改进,如图2所示,步骤S101之前还包括:
[0049]步骤S100:判断需要调用32位底层应用软件模块时,执行步骤S101 ;判断需要调用64位底层应用软件模块时,则直接调用64位底层应用软件模块,结束。
[0050]前述步骤S101与步骤S102是指底层应用软件模块全部是32位的情况,当底层应用软件模块既有32位又有64位时,先判断要调用的底层应用软件模块是32位还是64位,若是32位,执行步骤101与步骤S102,若是64位,直接调用64位底层应用软件模块,得到结果并结束。该方法能够应用于底层应用软件模块既有32位又有64位的情况,减少对64位程序的开发以及维护的工作量,提高工作效率,并拓展了适用范围。
[0051]具体的,上述底层应用软件模块可以包括32位DLL和/或64位DLL等。
[0052]进一步的,进程间通讯技术包括命名管道、共享文件、网络协议或共享内存区。
[0053]另一方面,本发明提供一种64位程序的运行实现方法,如图3所示,包括:
[0054]步骤S201:通过进程间通讯技术接收64位程序需要调用底层应用软件模块时发送的指令