CN111061459A - 一种图计算库的封装方法、系统、存储介质及电子设备 - Google Patents

一种图计算库的封装方法、系统、存储介质及电子设备 Download PDF

Info

Publication number
CN111061459A
CN111061459A CN201911264084.9A CN201911264084A CN111061459A CN 111061459 A CN111061459 A CN 111061459A CN 201911264084 A CN201911264084 A CN 201911264084A CN 111061459 A CN111061459 A CN 111061459A
Authority
CN
China
Prior art keywords
library
packaging
graph
function
type
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
CN201911264084.9A
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.)
Cognitive Computing Nanjing Information Technology Co ltd
Original Assignee
Cognitive Computing Nanjing 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 Cognitive Computing Nanjing Information Technology Co ltd filed Critical Cognitive Computing Nanjing Information Technology Co ltd
Priority to CN201911264084.9A priority Critical patent/CN111061459A/zh
Publication of CN111061459A publication Critical patent/CN111061459A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种图计算库的封装方法、系统、存储介质及电子设备,其方法包括:加载C++图计算库的路径;根据所述路径确定所述C++图计算库的位置之后,通过ctypes设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。本发明使用ctypes对C++的图计算库进行封装,方便用户使用Python代码语言直接调用图计算功能,方便简洁。

Description

一种图计算库的封装方法、系统、存储介质及电子设备
技术领域
本发明涉及计算机处理技术领域,尤指一种图计算库的封装方法、系统、存储介质及电子设备。
背景技术
C++实现了面向对象程序设计,而在高级语言当中,其处理运行速度是最快的,相对灵活并且功能强大。C++思路层次分明、结构严谨精确。因此在开发大型软件项目时,我们经常会选用C++作为编程语言。
一个软件往往不可能满足所有用户的需求,很多时候会带来各种各样的使用回馈。这就需要开发人员结合实际情况来研发相应的功能,有时甚至会有定制功能或者定制版本的出现,这对于用户和开发人员来说都是一件比较繁琐的事情。C++以高性能著称,可以直接映射到硬件底层,实现高效运行,但是编写较为复杂,对于操作人员的要求较高。因此本申请提供一种图计算库的封装方法、系统、存储介质及电子设备避免频繁的功能反馈问题。
发明内容
本发明的目的是提供一种图计算库的封装方法、系统、存储介质及电子设备,使用ctypes对C++的图计算库进行封装,方便用户使用Python代码语言直接调用图计算功能,方便简洁。
本发明提供的技术方案如下:
本发明提供一种图计算库的封装方法,包括:
加载C++图计算库的路径;
根据所述路径确定所述C++图计算库的位置之后,通过ctypes设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。
进一步的,加载C++图计算库的路径之前还包括:
通过extern c关键字对C++源代码函数进行修饰;
对修饰好的源代码进行封装得到所述C++图计算库。
进一步的,通过ctypes设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库具体包括:
获取C++中类型和ctypes中类型的对应关系;
根据所述对应关系设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。
进一步的,通过ctypes设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库之后还包括:
将用户操作编写为Python代码;
通过所述Python代码调用所述动态链接库中对应的函数。
本发明还提供一种图计算库的封装系统,包括:
加载模块,加载C++图计算库的路径;
封装模块,根据所述加载模块加载的所述路径确定所述C++图计算库的位置之后,通过ctypes设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。
进一步的,还包括:
修饰模块,通过extern c关键字对C++源代码函数进行修饰;
处理模块,对所述修饰模块修饰好的源代码进行封装得到所述C++图计算库。
进一步的,所述封装模块具体包括:
获取单元,获取C++中类型和ctypes中类型的对应关系;
封装单元,根据所述获取单元获取的所述对应关系设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。
进一步的,还包括:
编写模块,将用户操作编写为Python代码;
调用模块,通过所述编写模块编写的所述Python代码调用所述封装模块得到的所述动态链接库中对应的函数。
本发明还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的任一项方法。
本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的任一项方法。
通过本发明提供的一种图计算库的封装方法、系统、存储介质及电子设备,使用ctypes对C++的图计算库进行封装,方便用户使用Python代码语言直接调用图计算功能,方便简洁。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种图计算库的封装方法、系统、存储介质及电子设备的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明一种图计算库的封装方法的一个实施例的流程图;
图2是本发明一种图计算库的封装方法的另一个实施例的流程图;
图3是本发明对C++源代码函数使用extern c关键字进行修饰的示意图;
图4是本发明一种图计算库的封装方法的另一个实施例的流程图;
图5是本发明一种图计算库的封装系统的一个实施例的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘出了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
具体实现中,本申请实施例中描述的终端设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机、家教机或平板计算机之类的其他便携式设备。还应当理解的是,在某些实施例中,所述终端设备并非便携式通信设备,而是具有触摸敏感表面(例如:触摸屏显示器和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端设备。然而,应当理解的是,终端设备可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其他物理用户接口设备。
终端设备支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、网络创建应用程序、文字处理应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄像机应用程序、Web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
可以在终端设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
本发明的一个实施例,如图1所示,一种图计算库的封装方法,包括:
S100加载C++图计算库的路径;
S200根据所述路径确定所述C++图计算库的位置之后,通过ctypes设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。
具体的,本实施例中,库文件即DLL(Dynamic Link Library)文件,是动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。
本申请的方案为对C++的图计算库进行Python代码封装,让用户使用简单明了的Python代码语言来调用C++的动态库,从而实现想要的功能。因此首先加载C++图计算库的路径,使得系统能够明确C++图计算库所在的位置,以便后续进行封装。
ctypes是Python代码的一个外部库,提供和C语言和C++兼容的数据类型,可以很方便地调用DLL中输出的C和C++接口函数。因此根据路径确定所述C++图计算库的位置之后,通过ctypes设置C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。最终用户可以使用简单Python代码语言调用封装之后得到的动态链接库来实现功能。
本发明使用ctypes对C++的图计算库进行封装,方便用户使用Python代码语言直接调用图计算功能,方便简洁。
优选地,在本发明另外的实施例中,S200根据所述路径确定所述C++图计算库的位置之后,通过ctypes设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库具体包括:S210获取C++中类型和ctypes中类型的对应关系;S220根据所述对应关系设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。
具体的,根据C++中类型和ctypes中类型的对应关系指定C++图计算库中函数的返回值类型和参数类型,因此当C++图计算库中的函数类型与Python代码默认的函数类型不一致时,能够进行转换。例如,Python代码默认函数的参数类型和返回类型为int型,但是C++的动态链接库导出的函数返回类型不是int型,而是特定类型,则通过制定ctypes的函数返回类型restype和函数形参类型argtypes,将C++的动态链接库导出的函数返回类型由特定类型转换为int型,从而实现动态链接库导出的函数类型为Python代码默认函数类型,便于用户通过使用Python代码语言直接调用图计算功能。
本发明中通过ctypes实现由C++语言到Python代码语言的转换,最终对C++图计算库进行封装,便于用户通过使用Python代码语言直接调用图计算功能。
本发明的另一个实施例,是上述的实施例的优化实施例,如图2所示,本实施例与上述第一实施例相比,主要改进在于,S100加载C++图计算库的路径之前包括:
S010通过extern c关键字对C++源代码函数进行修饰;
S020对修饰好的源代码进行封装得到所述C++图计算库。
具体的,本实施例中,C++图计算库中不一定所有的代码都是C++语言,还可能包括C语言,由于C和C++识别的问题,可能会导致C++代码中有些函数无法调用成功。
对于初始的能够实现特定功能的一系列完整经过验证的C++源代码函数,使用extern c关键字进行修饰。ctypes不仅仅只是对c的,对于C++也是可以的,但是这个时候extern c修饰步骤便必不可少。采用C++的工程,导出的接口需要extern"C",这样Python代码中才能识别导出的函数。例如,导出函数前面要加extern"C"__declspec(dllexport),如图3所示,在源代码C++源代码函数之前需要用extern c关键字进行修饰。因为ctypes只能调用C函数,如果不用extern c关键字修饰,构建后的动态库没有这些函数的符号表。
对修饰好的源代码进行封装得到C++图计算库,例如使用VS软件等。之后加载C++图计算库的路径,使得系统能够明确C++图计算库所在的位置,通过ctypes设置C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库,从而便于用户通过使用Python代码语言直接调用图计算功能。
本发明中在将C++源代码函数封装成C++图计算库的过程中,首先extern c关键字对C++源代码函数进行修饰,使得后续ctypes能够同时调用C和C++,避免C++代码中有些函数无法调用成功。
本发明的另一个实施例,是上述的实施例的优化实施例,如图4所示,本实施例与上述第一实施例相比,主要改进在于,S200根据所述路径确定所述C++图计算库的位置之后,通过ctypes设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库之后包括:
S300将用户操作编写为Python代码;
S400通过所述Python代码调用所述动态链接库中对应的函数。
具体的,本实施例中,加载C++图计算库的路径,使得系统能够明确C++图计算库所在的位置,通过ctypes设置C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。
之后根据用户操作调用动态链接库中相应的函数,识别用户操作,将用户操作编写为Python代码,通过Python代码调用动态链接库中对应的函数。例如,当用户需要计算两个数相加的结果,将用户操作编写成相应的Python代码,筛选动态链接库中的函数,如果库里面有相加的函数则直接调用这个函数。
本发明中用户能够使用Python代码直接调用动态链接库中的函数,使用更加简洁的Python代码调用C++图计算库,用户操作更加快速便捷,使用户的使用感更好。
本发明的一个实施例,如图5所示,一种图计算库的封装系统100,包括:
修饰模块110,通过extern c关键字对C++源代码函数进行修饰;
处理模块120,对所述修饰模块110修饰好的源代码进行封装得到所述C++图计算库。
加载模块130,加载C++图计算库的路径;
封装模块140,根据所述加载模块130加载的所述路径确定所述C++图计算库的位置之后,通过ctypes设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。
所述封装模块140具体包括:
获取单元141,获取C++中类型和ctypes中类型的对应关系;
封装单元142,根据所述获取单元141获取的所述对应关系设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。
编写模块150,将用户操作编写为Python代码;
调用模块160,通过所述编写模块150编写的所述Python代码调用所述封装模块140得到的所述动态链接库中对应的函数。
具体的,本实施例中,C++图计算库中不一定所有的代码都是C++语言,还可能包括C语言,由于C和C++识别的问题,可能会导致C++代码中有些函数无法调用成功。
对于初始的能够实现特定功能的一系列完整经过验证的C++源代码函数,使用extern c关键字进行修饰。ctypes不仅仅只是对c的,对于C++也是可以的,但是这个时候extern c修饰步骤便必不可少。采用C++的工程,导出的接口需要extern"C",这样Python代码中才能识别导出的函数。例如,导出函数前面要加extern"C"__declspec(dllexport),如图3所示,在源代码之前需要用extern c关键字进行修饰。因为ctypes只能调用C函数,如果不用extern c关键字修饰,构建后的动态库没有这些函数的符号表。对修饰好的源代码进行封装得到C++图计算库,例如使用VS软件等。
库文件即DLL(Dynamic Link Library)文件,是动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。
本申请的方案为对C++的图计算库进行Python代码封装,让用户使用简单明了的Python代码语言来调用C++的动态库,从而实现想要的功能。因此首先加载C++图计算库的路径,使得系统能够明确C++图计算库所在的位置,以便后续进行封装。
ctypes是Python代码的一个外部库,提供和C语言和C++兼容的数据类型,可以很方便地调用DLL中输出的C和C++接口函数。因此根据路径确定所述C++图计算库的位置之后,通过ctypes设置C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。
根据C++中类型和ctypes中类型的对应关系指定C++图计算库中函数的返回值类型和参数类型,因此当C++图计算库中的函数类型与Python代码默认的函数类型不一致时,能够进行转换。例如,Python代码默认函数的参数类型和返回类型为int型,但是C++的动态链接库导出的函数返回类型不是int型,而是特定类型,则通过制定ctypes的函数返回类型restype和函数形参类型argtypes,将C++的动态链接库导出的函数返回类型由特定类型转换为int型,从而实现动态链接库导出的函数类型为Python代码默认函数类型,便于用户通过使用Python代码语言直接调用图计算功能。
之后根据用户操作调用动态链接库中相应的函数,识别用户操作,将用户操作编写为Python代码,通过Python代码调用动态链接库中对应的函数。例如,当用户需要计算两个数相加的结果,将用户操作编写成相应的Python代码,筛选动态链接库中的函数,如果库里面有相加的函数则直接调用这个函数。
本发明通过ctypes实现由C++语言到Python代码语言的转换,最终对C++图计算库进行封装,便于用户通过使用Python代码语言直接调用图计算功能。并且,在将C++源代码函数封装成C++图计算库的过程中,首先extern c关键字对C++源代码函数进行修饰,使得后续ctypes能够同时调用C和C++,避免C++代码中有些函数无法调用成功。
本发明的一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一实施例中的所有方法步骤或部分方法步骤。
本发明实现上述的实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本发明的一个实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一实施例中的所有方法步骤或部分方法步骤。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种图计算库的封装方法,其特征在于,包括:
加载C++图计算库的路径;
根据所述路径确定所述C++图计算库的位置之后,通过ctypes设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。
2.根据权利要求1所述的图计算库的封装方法,其特征在于,加载C++图计算库的路径之前还包括:
通过extern c关键字对C++源代码函数进行修饰;
对修饰好的源代码进行封装得到所述C++图计算库。
3.根据权利要求1所述的图计算库的封装方法,其特征在于,通过ctypes设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库具体包括:
获取C++中类型和ctypes中类型的对应关系;
根据所述对应关系设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。
4.据权利要求1或3所述的图计算库的封装方法,其特征在于,通过ctypes设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库之后还包括:
将用户操作编写为Python代码;
通过所述Python代码调用所述动态链接库中对应的函数。
5.一种图计算库的封装系统,其特征在于,包括:
加载模块,加载C++图计算库的路径;
封装模块,根据所述加载模块加载的所述路径确定所述C++图计算库的位置之后,通过ctypes设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。
6.根据权利要求5所述的图计算库的封装系统,其特征在于,还包括:
修饰模块,通过extern c关键字对C++源代码函数进行修饰;
处理模块,对所述修饰模块修饰好的源代码进行封装得到所述C++图计算库。
7.根据权利要求5所述的图计算库的封装系统,其特征在于,所述封装模块具体包括:
获取单元,获取C++中类型和ctypes中类型的对应关系;
封装单元,根据所述获取单元获取的所述对应关系设置所述C++图计算库中函数的返回值类型和参数类型,封装得到动态链接库。
8.据权利要求5或7所述的图计算库的封装系统,其特征在于,还包括:
编写模块,将用户操作编写为Python代码;
调用模块,通过所述编写模块编写的所述Python代码调用所述封装模块得到的所述动态链接库中对应的函数。
9.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至4任一项所述的方法。
10.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的方法。
CN201911264084.9A 2019-12-11 2019-12-11 一种图计算库的封装方法、系统、存储介质及电子设备 Pending CN111061459A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911264084.9A CN111061459A (zh) 2019-12-11 2019-12-11 一种图计算库的封装方法、系统、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911264084.9A CN111061459A (zh) 2019-12-11 2019-12-11 一种图计算库的封装方法、系统、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN111061459A true CN111061459A (zh) 2020-04-24

Family

ID=70300505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911264084.9A Pending CN111061459A (zh) 2019-12-11 2019-12-11 一种图计算库的封装方法、系统、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN111061459A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4398211B2 (ja) * 2003-09-19 2010-01-13 株式会社リコー カプセル化文書生成プログラム、カプセル化文書生成方法、及びカプセル化文書生成装置
CN101840334A (zh) * 2010-04-16 2010-09-22 中国电子科技集团公司第二十八研究所 一种软件构件服务化封装方法
CN106339318A (zh) * 2016-08-29 2017-01-18 上海斐讯数据通信技术有限公司 一种自动化测试装置及其创建方法
CN109857404A (zh) * 2019-01-11 2019-06-07 平安科技(深圳)有限公司 Sdk接口的封装方法及装置、存储介质、电子设备
CN110187940A (zh) * 2019-05-30 2019-08-30 深圳市康冠商用科技有限公司 一种接口封装方法、系统及电子设备和存储介质
CN110362334A (zh) * 2019-06-05 2019-10-22 广州南方智能技术有限公司 二次开发语言的c++对象生命周期管理方法、设备、介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4398211B2 (ja) * 2003-09-19 2010-01-13 株式会社リコー カプセル化文書生成プログラム、カプセル化文書生成方法、及びカプセル化文書生成装置
CN101840334A (zh) * 2010-04-16 2010-09-22 中国电子科技集团公司第二十八研究所 一种软件构件服务化封装方法
CN106339318A (zh) * 2016-08-29 2017-01-18 上海斐讯数据通信技术有限公司 一种自动化测试装置及其创建方法
CN109857404A (zh) * 2019-01-11 2019-06-07 平安科技(深圳)有限公司 Sdk接口的封装方法及装置、存储介质、电子设备
CN110187940A (zh) * 2019-05-30 2019-08-30 深圳市康冠商用科技有限公司 一种接口封装方法、系统及电子设备和存储介质
CN110362334A (zh) * 2019-06-05 2019-10-22 广州南方智能技术有限公司 二次开发语言的c++对象生命周期管理方法、设备、介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
码农SW: "用 Python ctypes 来调用 C/C++ 编写的第三方库", 《HTTPS://BLOG.CSDN.NET/SUWEI19870312/ARTICLE/DETAILS/18181675/》 *

Similar Documents

Publication Publication Date Title
US9665841B2 (en) Cross-platform application framework
WO2016155388A1 (zh) 应用安装、运行方法及装置
CN109471626B (zh) 页面逻辑结构、页面生成方法、页面数据处理方法及装置
CN106547580B (zh) 挂钩函数的方法、装置、移动终端及存储介质
CN112817657B (zh) 一种应用程序启动项加载方法、装置、系统及存储介质
KR20080021081A (ko) Xml 표현에서 z-order 엘리먼트들의 정밀립 제어
CN110609687A (zh) 一种编译方法、装置、电子设备和存储介质
CN109086342B (zh) 批量化生产和运维网站模板的方法、介质和终端
CN107506483A (zh) 页面加载方法、装置、电子设备及存储介质
CN111079125A (zh) 一种应用程序调用第三方库动态提升权限的方法及装置
CN113407165B (zh) Sdk的生成和自升级方法、装置、可读介质和设备
CN110780913B (zh) 一种跨机型的差分升级方法、系统、存储介质及电子设备
CN110941443B (zh) 修改sdk中文件名的方法、装置及电子设备
CN111443903A (zh) 软件开发文件获取方法及装置、电子设备、存储介质
CN111061459A (zh) 一种图计算库的封装方法、系统、存储介质及电子设备
CN116628773A (zh) 数据处理方法、装置、电子设备及存储介质
CN115827049A (zh) 基于配置的缓存切换方法、电子设备及存储介质
CN114547604A (zh) 一种应用检测方法、装置、存储介质及电子设备
CN107402749A (zh) 实现图片加载库的方法及装置
CN112015459A (zh) 一种镜像文件的升级方法、装置、终端及可读存储介质
CN111459933A (zh) Gdb数据动态扩展方法、装置及存储介质
CN114513736B (zh) 一种耳机的声学测试方法、设备、终端及存储介质
CN111274551A (zh) 基于编译器的java代码保护方法、装置及电子设备
CN113326041B (zh) 一种虚方法的调用方法、电子设备及计算机可读存储介质
CN108958746B (zh) 配置文件处理方法、移动终端及计算机可读存储介质

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200424