Method for constructing third-party library, method for verifying legitimacy of third-party library, mutual calling method among multiple third-party libraries, and calling device

The method constructs third-party libraries with sub-modules for inter-library calls and legitimacy checks, addressing compatibility issues by using shared function tables for seamless integration and reduced maintenance.

JP2024170638AActive Publication Date: 2024-12-10SHANGHAI TOSUN TECH LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024159661
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-09-29
Filing Date
2024-09-16
Publication Date
2024-12-10
Estimated Expiration
2042-08-10

AI Technical Summary

Technical Problem

Existing methods require modifying current third-party libraries to support calls to other libraries, leading to increased workload and compatibility issues when libraries change, and explicit loading fails if the dependent library is absent.

Method used

A method for constructing third-party libraries with initialization, capability acquisition, and release sub-modules, allowing inter-library calls without explicit loading, and verifying library legitimacy through version comparison and dependency checks.

Benefits of technology

Enables seamless inter-library calls without explicit loading, reducing development effort and error likelihood by using shared function tables, ensuring compatibility and smooth operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024170638000001_ABST
    Figure 2024170638000001_ABST
Patent Text Reader

Abstract

To construct a third-party library.SOLUTION: A method for constructing multiple third-party libraries in a software-platform-specific mutual calling method for functions of third-party libraries includes constructing at least one third-party library by a software platform, i.e., constructing an initializing sub module, a performance obtaining sub module and an internal sub module in the third-party library by the software platform.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to the field of computer technology, and more particularly to a method for constructing a third-party library, a method for verifying the legitimacy of a third-party library, a method for mutually invoking a plurality of third-party libraries, and an invoking device. [Background technology]

[0002] A software platform based on Windows extends its functions by introducing third-party libraries. Among the third-party libraries introduced into the software platform, there are situations where one third-party library calls another third-party library. The conventional approach is to modify the current third-party library and realize the call to the other third-party library by adding the other third-party library implicitly or explicitly.

[0003] The problems with the conventional technical solutions are that the current third-party library needs to be modified to support the calling of other third-party libraries, which adds to the workload of the current third-party library. When other third-party libraries are changed, the current third-party library is also changed synchronously. When a current third-party library calls other third-party libraries by explicitly loading other third-party libraries, the current third-party library cannot be loaded unless the other third-party libraries exist.

[0004] Therefore, based on the above technical problems, it is necessary to design a method for constructing a third-party library, a method for verifying the legitimacy of a third-party library, a method for mutual calling of multiple third-party libraries, and a calling device. Summary of the Invention

[0005] An object of the present invention is to provide a method for constructing a third-party library, a method for verifying the legitimacy of a third-party library, a method for mutually calling a plurality of third-party libraries, and a calling device.

[0006] In order to solve the above technical problems, the present invention provides a method for mutually invoking third-party library functions for a software platform, including: Building multiple third-party libraries, Verify the legitimacy of said third-party libraries, and The third party libraries call each other.

[0007] Furthermore, the method for constructing the plurality of third party libraries includes: Each of the third party libraries is constructed by the software platform, i.e., an initialization sub-module, a capability acquisition sub-module and an internal sub-module in each of the third party libraries are constructed by the software platform, and a release sub-module is constructed in the third party library. The release sub-module is adapted to automatically release the claimed resources when the third party library is unloaded.

[0008] Furthermore, the method for constructing the initialization sub-module by the software platform includes: The initialization sub-module is generated according to the header file and software platform API list of the software platform in the software platform, and after the invocation of the initialization sub-module is completed, the third-party library obtains address information of each API in the API list provided by the software platform.

[0009] In addition, the method for constructing a capability acquisition sub-module using the above software platform includes: The software platform loads the version number of the software platform, loads a list of corresponding user logic callback sub-modules, and loads a list of external sub-modules that the corresponding third-party library depends on to generate the capability acquisition sub-module. When an external program calls the capability acquisition sub-module, it obtains the version information of the software platform corresponding to the third-party library, obtains the list information of the user logic callback sub-modules, obtains the external sub-module information that the third-party library depends on and all internal sub-module information of the third-party library.

[0010] In addition, a method for constructing an internal sub-module using the above software platform includes: The internal sub-module is generated based on a user function logic sub-module of the software platform.

[0011] In addition, the methods for verifying the legitimacy of the above third-party libraries include: The third party library is loaded into the software platform. The software platform calls the initialization sub-module of the third party library. The software platform calls the capability acquisition sub-module of the third party library to obtain a version number of the software platform corresponding to the third party library, obtain a list of user callback sub-modules, and obtain address information and function parameter information of all the internal sub-modules of the third party library and information of the external sub-modules on which the third party library depends. The software platform provides the third party library with pointers to the sub-modules it depends on. If the external sub-module that the third party library depends on does not exist, the software platform provides a null pointer to the third party library. During the calling process, the third-party library determines whether there are other third-party libraries on which it depends based on whether the pointer is null. If it is a null pointer, the internal sub-modules of the other third party libraries on which the third party library depends are not valid, but the functions of the other internal sub-modules in the third party library are still valid. The software platform compares the version number of the software platform corresponding to the acquired third-party library with its own version number, and if the version number of the third-party library is greater than its own version number, it stops calling the third-party library, and if not, it continues to call the third-party library.

[0012] In addition, the above-mentioned method for mutually invoking multiple third-party libraries includes: The software platform continues to call the third party library, and is then adapted to call the third party library according to the list of user callback sub-modules obtained from the third party library and the list of internal sub-modules. If the current third party library needs to call the internal sub-module of another third party library during operation, the capability acquisition sub-module transmits a sub-module pointer on which the current third party library depends to the current third party library via the software platform, thereby causing the current third party library to call the internal sub-module in the other third party library. After the call is completed, the software platform releases the claimed resources by calling the release submodule in the third party library.

[0013] In a second aspect, the present invention further provides a software platform for a method of mutually invoking a third party library function for the above software platform, comprising: said software platform header files, said software platform API list, said software platform version number, said user logic callback sub-module list, said external sub-module list on which third party libraries depend, said user function logic sub-module and a C++ compiler.

[0014] In a third aspect, the present invention further provides a third party library for a method of mutually invoking third party library functions for the above software platform, comprising: the initialization sub-module, the capability acquisition sub-module, the internal sub-module and the release sub-module.

[0015] In a fourth aspect, the present invention further provides a mutual calling system using the above-mentioned method for mutual calling of third party library functions for a software platform, comprising: a construction module for constructing the plurality of third party libraries; a verification module for verifying the legitimacy of the third-party library; and The calling module allows the above third party libraries to call each other.

[0016] The advantages of the present invention are as follows: The present invention realizes a universal call frame through the software platform by constructing multiple third-party libraries, verifying the legitimacy of the third-party libraries, and allowing the multiple third-party libraries to call each other, and the functions registered by the third-party libraries in the software platform can be shared among all the loaded third-party libraries. In this way, when a current third-party library needs to call another third-party library, it does not need to load the other third-party library, and the software platform can realize access to the other third-party library by using the function table shared by the current third-party library including the other third-party library. When the other third-party library is not loaded, both the software platform and the current third-party library can know this situation, and can smoothly load the current third-party library and provide some functions.

[0017] Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the invention. The objectives and other advantages of the invention will be realized and obtained by the structure particularly pointed out in the description and drawings.

[0018] In order to make the above objects, features and advantages of the present invention more comprehensible, preferred embodiments of the present invention will be described in detail below in conjunction with the accompanying drawings. [Brief description of the drawings]

[0019] In order to more clearly describe the specific embodiments of the present invention or the technical solutions in the prior art, the following briefly describes the drawings that need to be used in the description of the specific embodiments or the prior art, but the drawings in the following description are some embodiments of the present invention, and it is obvious that those skilled in the art can obtain other drawings from these drawings without exerting creative efforts. [Figure 1]FIG. 1 is a flowchart of a method for mutually calling third-party library functions for a software platform according to the present invention. [Diagram 2] FIG. 2 is a flow chart for building multiple third party libraries according to the present invention. [Diagram 3] FIG. 3 is a flowchart showing how multiple third party libraries call each other according to the present invention. [Figure 4] FIG. 4 is a block diagram showing the principle of the inter-call system designed by the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0020] In order to make the objectives, technical solutions and advantages of the embodiments of the present invention clearer, the following clearly and completely describes the technical solutions of the present invention with reference to the drawings, obviously, the described embodiments are only some embodiments of the present invention, not all embodiments, based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are all within the scope of protection of the present invention.

[0021] Example 1 FIG. 1 is a flowchart of a method for mutually calling third-party library functions for a software platform according to the present invention. As shown in Fig. 1, the first embodiment provides a method for mutually calling third-party library functions for a software platform, including: building multiple third-party libraries, verifying the legitimacy of the third-party libraries, and allowing the multiple third-party libraries to call each other, thereby realizing a universal call frame through the software platform, and the functions registered by the third-party libraries in the software platform can be shared among all the loaded third-party libraries. In this way, when a current third-party library needs to call another third-party library, it does not need to load the other third-party library, and the software platform can realize access to the other third-party library by using the function table shared by the current third-party library including the other third-party library. When the other third-party library is not loaded, both the software platform and the current third-party library can know this situation, and can smoothly load the current third-party library and provide some functions.

[0022] FIG. 2 is a flow chart for building multiple third party libraries according to the present invention. As shown in FIG. 2, in this embodiment, the method of constructing the above-mentioned multiple third-party libraries is as follows: a C++ compiler is called by a software platform to construct the third-party libraries. Each third-party library is constructed by a software platform, that is, an initialization sub-module (including an initialization function and corresponding functions), a capability acquisition sub-module (including a capability acquisition function and corresponding functions) and an internal sub-module (including an internal function and corresponding functions) in each third-party library are constructed by the software platform, and a release sub-module (including a release function and corresponding functions) is constructed in the third-party library. The release sub-module is suitable for automatically releasing the applied resources when the third-party library is unloaded. The initialization sub-module, the capability acquisition sub-module and the release sub-module are disclosed sub-modules, and the functions in the sub-modules can be automatically loaded and called by an external program. The functions in the internal sub-module are not visible from the outside.

[0023] In this embodiment, the method for constructing the initialization sub-module by the above software platform includes: generating an initialization sub-module according to the header file of the software platform and the software platform API list in the software platform, and after the call of the initialization sub-module is completed, the third-party library obtains the address information of each API in the API list provided by the software platform, so that it can function normally.

[0024] In this embodiment, the method for constructing a capability acquisition sub-module by the above software platform includes: the software platform loads the version number of the software platform, loads the corresponding list of user logic callback sub-modules, and loads the list of external sub-modules that the corresponding third-party library depends on to automatically generate a capability acquisition sub-module. When an external program calls the capability acquisition sub-module, it obtains the version information of the software platform corresponding to the third-party library, obtains the list information of user logic callback sub-modules, and obtains the external sub-module information that the third-party library depends on and all the internal sub-module information of the third-party library. In this embodiment, the method for constructing an internal sub-module by the above software platform includes the following: an internal sub-module is generated based on a user function logic sub-module of the software platform, and the internal sub-module does not open an interface to the outside, and can be obtained by simply calling a capability acquisition function from an external program (third-party library).

[0025] FIG. 3 is a flowchart showing how multiple third party libraries call each other according to the present invention. As shown in FIG. 3, in this embodiment, the method for verifying the legitimacy of the third-party library includes the following: the calling process of the third-party library is completed by the software platform and the third-party library in cooperation with each other. By loading the dynamic link library, the software platform loads the third-party library into its own software platform. The software platform calls the initialization submodule of the third-party library. The software platform calls the capability acquisition submodule of the third-party library to obtain the version number of the software platform corresponding to the third-party library, obtain a list of user callback submodules, and obtain address information and function parameter information of all internal submodules of the third-party library and external submodule information that the third-party library depends on. In the capability acquisition function calling process, the software platform simultaneously provides the third-party library with pointers of the submodules that it depends on (provides function pointers of internal functions in other third-party libraries that the third-party library depends on). If there is no external submodule that the third-party library depends on, the software platform provides the third-party library with a null pointer. In the calling process, the third-party library determines whether there are other third-party libraries that the third-party library depends on based on whether the pointer is null. If it is a null pointer, the internal submodules of other third-party libraries that the third-party library depends on are not valid, but the functions of other internal submodules in the third-party library are still valid. The software platform compares the version number of the software platform corresponding to the acquired third-party library with its own version number, and if the version number of the third-party library is greater than its own version number, it stops calling the third-party library, otherwise it determines the legitimacy of the third-party library (conforms to the requirements) and continues calling the third-party library.

[0026] In this embodiment, the above-mentioned method for mutually calling multiple third-party libraries includes the following: after the software platform continues to call the third-party library, the software platform is suitable for calling the third-party library according to the list of user callback sub-modules and the list of internal sub-modules obtained from the third-party library. If the current third-party library needs to call the internal sub-modules of other third-party libraries during operation, the software platform transmits the sub-module pointers that the current third-party library depends on to the current third-party library in the capability acquisition sub-module via the software platform, so that the current third-party library calls the internal sub-modules in the other third-party libraries. After the call is completed, the software platform releases the requested resources by calling the release sub-module in the third-party library. When the software platform calls the third-party library, it can not only know all the internal functions of the other third-party libraries that the third-party library depends on, but also provide the third-party library with the function pointers that the software platform itself depends on. In this way, when there is an interdependency situation between the third-party libraries, the software platform can provide the dependency, and there is no need to manually modify the third-party library. And the software platform provides various function dependencies to the third-party library, which can avoid frequent modification of the third-party library to realize the dependency on other third-party libraries, improving the development efficiency of the third-party library and reducing the possibility of errors.

[0027] In this embodiment, a third-party library A and a third-party library B are constructed by a software platform. When the software platform calls the third-party library A, the third-party library A needs to depend on some internal functions of the third-party library B. The software platform sends a function pointer of the dependent internal function to the third-party library A, and calls the corresponding internal function from the third-party library B.

[0028] In this embodiment, the software platform includes a header file of the software platform, a software platform API list including API symbol information, a version number of the software platform, user logic generated by the user through the software platform (expressed in the form of a callback function), unique logic designed by the user through the software platform (expressed in the form of a normal function), and a list of functions of other third-party libraries on which the user logic depends (expressed in the form of symbol information related to the functions). In the process of constructing third-party libraries that can be called mutually by the software platform, an initialization function of the third-party library must first be generated, and the source code of the function is generated based on the header file of the software platform and the software platform API list including API symbol information. Next, a capability acquisition function must be generated, and the source code of the function is composed of the version number of the software platform itself, symbol information of the user logic callback function, and symbol information of the third-party library function dependent on the user logic. A release function must also be generated, and is responsible for releasing the requested resources before the third-party library is unloaded. Finally, a set of internal functions must be generated, and these internal functions are unique logic designed by the user through the software platform. After the required functions are generated, the software platform calls a C / C++ compiler to compile the generated functions into an executable file of the third-party library.

[0029] In this embodiment, the software platform further includes a dynamic link library loading function, a function calling function, a dependent function management function, and a version number comparison function, a run function and a stop function. In the process of calling a mutually callable third-party library, the software platform must first load the third-party library through the dynamic link library load function. After the loading is successful, the initialization function of the third-party library is called through the function call function. Then, the capability acquisition function of the third-party library is called through the function call function, and the version number of the software platform compiled into the capability acquisition function, the user logic callback function, and the symbol information of the third-party function on which the user logic depends are read and input into the software platform. The software platform knows the relationship between the construction version number of the third-party library and the version number of the software platform. If the version numbers are the same or the version number of the software platform is greater than the construction version number of the third-party library, the software platform can continue to call the third-party library, otherwise the calling process is terminated. At the same time, the dependent function management function of the software platform must further detect whether the dependent function of the third-party library exists in the software platform, and if it exists, the start address of the dependent function must be given to the third-party library, and if it does not exist, a null pointer must be given to the third-party library. After the execution of the version number comparison function and the dependent function management function is completed and returns a continuously callable flag, the software platform executes the execution program function, during which the internal functions of the third-party library are freely called by the software platform to provide various functions to the software platform. When the third-party library needs to call its dependent function, it first determines whether the dependent function is a null pointer, and if it is not a null pointer, it continues to call, otherwise it is considered that the dependent library does not exist, the relevant function is invalid, and the current call process returns to failure. When the third-party library does not need to be used, the software platform executes the program stop function, which calls the release function of the third-party library, and the call process ends after the third-party library releases the resources it has applied for.

[0030] Specifically, this embodiment takes the following two third-party libraries as an example to describe the mutual calling method: a third-party library of a universal CRC16 algorithm and a third-party library for a calibration system. The third-party library for the calibration system performs an unlock operation on the target controller by relying on the universal CRC16 algorithm. These two third-party libraries are loaded into the software platform in sequence, and the software platform provides the user with the verification function of the CRC16 algorithm and the calibration function of the calibration system in a unified manner. The conventional third-party library of a universal CRC16 algorithm needs to derive an API function dependent on an external program during compilation. Since the conventional third-party library for the calibration system is a third-party library that relies on the universal CRC16 algorithm, its internal needs to introduce the dependent functions in the third-party library of the universal CRC16 algorithm, and in the loading process, the third-party library of the universal CRC16 algorithm is loaded first. If there is no third-party library of the universal CRC16 algorithm, the third-party library for the calibration system will fail to load and cannot provide any functions to the user of the software platform. When the function in the third-party library of the general-purpose CRC16 algorithm is changed, for example, the parameters of the CRC16 algorithm function are increased from three to four, and the third-party library for the calibration system is not updated synchronously for some reason, in this case, both of the two third-party libraries can be loaded normally, but the process in which the third-party library for the calibration system calls the CRC16 library will cause a collapse. Therefore, the method in which the library of the conventional software platform refers to other libraries through static linking, in addition to the defect of lacking interface definition inspection during operation, will also reduce the availability of the software platform, and problems will occur and be difficult to investigate. The software platform provided in this embodiment adopts a different method, and its operation flow is as follows: the CRC16 third-party library and the third-party library for the calibration system make the APIs dependent on external programs both internal functions, and do not derive any API functions.The software platform sequentially loads the CRC16 third-party library and the third-party library for the calibration system. The software platform calls the capability acquisition function of the two third-party libraries to obtain the internal function list of each library and the definition information of each function, including function address information, parameter information, etc. The software platform analyzes the dependent functions of each third-party library, detects that the third-party library for the calibration system depends on the CRC16 third-party library, and substitutes the dependent function address information in the third-party library for the calibration system into the corresponding function address information in the CRC16 third-party library. The software platform analyzes the function definition information, including the parameter information, etc. of the dependent functions of each third-party library. If it finds that the internal API function definition of the CRC16 third-party library and the corresponding dependent function definition of the third-party library for the calibration system are different, it warns the user and prohibits the execution of the third-party library for the calibration system. After verifying that there is no problem with the dependency between the third-party libraries, the software platform can normally call the two third-party libraries and provide services to the user.

[0031] Example 2 In addition to Example 1, Example 2 further provides a software platform for the method for mutually calling a third-party library function for a software platform in Example 1, including a header file of the software platform, a software platform API list, a software platform version number, a list of user logic callback sub-modules, a list of external sub-modules dependent on the third-party library, a user function logic sub-module, and a C++ compiler.

[0032] In this embodiment, each sub-module and function included in the software platform has been described in detail in the first embodiment, and the description thereof will be omitted in this embodiment.

[0033] Example 3 In addition to Example 1, Example 3 further provides a third-party library for a mutual calling method of third-party library functions for the software platform in Example 1, including: an initialization submodule, a capability acquisition submodule, an internal submodule and a release submodule.

[0034] In this embodiment, each sub-module and function included in the third-party library is described in detail in the first embodiment, and the description is omitted in this embodiment.

[0035] Example 4 FIG. 4 is a block diagram showing the principle of the intercall system designed in the present invention. In addition to the first embodiment, the fourth embodiment further provides a mutual calling system using the method for mutual calling of third-party library functions for a software platform in the first embodiment, which includes: a construction module for constructing a plurality of third-party libraries; a verification module for verifying the legitimacy of the third-party libraries; and a calling module for the plurality of third-party libraries to make a mutual call.

[0036] In this embodiment, the specific functions of each module have already been described in detail in the first embodiment, and the description thereof will be omitted in this embodiment.

[0037] Example 5 In addition to the above embodiments, the present embodiment 5 further provides a calling device, which includes a software platform and a number of third-party libraries. The above software platform is suitable for building and calling the third-party libraries. The third-party libraries can realize mutual calling through the software platform. In this embodiment, the functions of the above software platform and the third-party library are described in detail in the above embodiment, and the description is omitted in this embodiment.

[0038] In summary, the present invention realizes a universal call frame through the software platform by constructing multiple third-party libraries and having the multiple third-party libraries call each other, and the functions registered by the third-party libraries in the software platform can be shared among all the loaded third-party libraries. In this way, when a current third-party library needs to call another third-party library, it does not need to load the other third-party library, and the software platform can realize access to the other third-party library by using the function table shared by the current third-party library, including the other third-party library. When the other third-party library is not loaded, both the software platform and the current third-party library can know this situation, and can smoothly load the current third-party library and provide some functions.

[0039] In some embodiments provided by the present application, it is to be understood that the disclosed apparatus and method may be realized in other manners. The above-described apparatus embodiments are merely illustrative, and for example, the flowcharts and block diagrams in the drawings illustrate possible architectures, functions, and operations of the apparatus, methods, and computer program products according to several embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, program segment, or part of code including one or more executable instructions for performing a certain logical function. It is to be noted that in some alternative implementations, the functions depicted in the blocks may occur in a different order than that depicted in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and may sometimes be executed in a reverse order depending on the functions involved. It is also to be noted that each block of the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts may be realized in a dedicated hardware-based system that executes a certain function or operation, or may be realized in a combination of dedicated hardware and computer instructions.

[0040] In addition, each functional module in each embodiment of the present invention may be integrated together to form a single independent part, each module may exist independently, or two or more modules may be integrated together to form a single independent part.

[0041] The above functions can be realized in the form of software functional modules and stored in a computer readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the present invention can be essentially or partly contributed to the prior art or part of the technical solution can be expressed in the form of a software product. The computer software product is stored in a storage medium and contains a number of commands to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method in each embodiment of the present invention. The aforementioned storage medium includes: U disk, removable disk, read-only memory (ROM), random access memory (RAM), magnetic disk, optical disk, and other media capable of storing various program codes.

[0042] The above-mentioned preferred embodiments of the present invention have been enlightened, and those skilled in the art can make various changes and modifications based on the above description without departing from the technical spirit of the present invention. The technical scope of the present invention is not limited to the contents of the specification, but should be determined based on the claims.

Claims

1. A method for constructing a third-party library in a method for mutually calling a third-party library function for a software platform, the method being performed by a computer under control of software, comprising the steps of: A method for constructing a third-party library, performed by a computer under the control of software, characterized in that at least one third-party library is constructed by a software platform, i.e., an initialization sub-module, a capability acquisition sub-module and an internal sub-module in the third-party library are constructed by the software platform.

2. A method for constructing an initialization submodule by a software platform includes: The method of claim 1, further comprising: generating the initialization submodule according to a header file and a software platform API list of the software platform in the software platform; and after the invocation of the initialization submodule is completed, the third-party library obtains address information of each API in the API list provided by the software platform.

3. A method for constructing a capability acquisition sub-module using a software platform includes: The method of claim 1, characterized in that the software platform loads a version number of the software platform, loads a list of corresponding user logic callback sub-modules, and loads a list of external sub-modules on which the third-party library depends to generate the capability acquisition sub-module, and when an external program calls the capability acquisition sub-module, it includes obtaining version information of the software platform corresponding to the third-party library, obtaining list information of the user logic callback sub-modules, and obtaining the list of external sub-modules on which the third-party library depends and all internal sub-module information of the third-party library.

4. The method for building internal submodules using a software platform is as follows:

2. The method of claim 1, further comprising generating the internal sub-module based on a user functional logic sub-module of the software platform.

5. building a release sub-module in the third party library; 2. The method of claim 1, wherein the release sub-module is adapted to automatically release the claimed resources when the third party library is unloaded.

6. A method for verifying legitimacy of a third-party library in a method for mutually calling a third-party library function for a software platform, the method comprising: Loading a third-party library into a software platform, the software platform calling an initialization submodule of the third-party library, calling a capability acquisition submodule, obtaining a version number of the software platform corresponding to the third-party library, obtaining a list of user callback submodules, obtaining address information and function parameter information of all internal submodules of the third-party library, and obtaining a list of external submodules that the third-party library depends on; the software platform providing the third party library with pointers to the sub-modules it depends on; if the external sub-module on which the third party library depends does not exist, the software platform provides a null pointer to the third party library; The third-party library determines whether there is another third-party library on which the third-party library depends based on whether the pointer is null during the calling process; If the pointer is null, the internal submodules of the third-party library on which the third-party library depends are not valid, but the functions of the other internal submodules in the third-party library are still valid; The method for verifying the legitimacy of a third-party library, performed by a computer under the control of software, includes: the software platform comparing a version number of the software platform corresponding to the acquired third-party library with its own version number, and if the version number of the third-party library is greater than its own version number, stopping calling the third-party library, and otherwise continuing to call the third-party library.

7. The method according to claim 6, characterized in that the initialization sub-module is constructed by employing the method according to claim 2.

8. The method according to claim 6, characterized in that the capability acquisition sub-module is constructed by adopting the method according to claim 3.

9. The method according to claim 6, characterized in that said internal sub-module is constructed employing the method according to claim 4.

10. A method for mutually calling third-party library functions for a software platform, the method being performed by a computer under control of software, comprising: After the software platform continues to call the third party library, calling the third party library based on a list of user callback sub-modules and a list of internal sub-modules obtained from the third party library; if the current third party library needs to call an internal sub-module of another third party library during operation, causing the current third party library to call an internal sub-module in the other third party library by communicating a sub-module pointer on which the current third party library depends to the current third party library via the software platform; A method for mutually invoking multiple third-party libraries, performed by a computer under the control of software, comprising: after the invocation is completed, the software platform releasing the requested resources by invoking a release submodule in the third-party library.

11. The method according to claim 10, characterized in that said internal sub-module is constructed by employing the method according to claim 4.

12. A calling device used in the mutual calling method described in claim 10, comprising a software platform and a plurality of third-party libraries, the software platform being suitable for building the third-party libraries and calling the third-party libraries, and the third-party libraries being able to realize mutual calling through the software platform.

13. A method for mutually calling a third party library function for a software platform, the method being performed by a computer under control of software, comprising: Building multiple third-party libraries; Verifying the legitimacy of the third party library; and The plurality of third party libraries perform mutual calling,

14. A computer readable storage medium having stored thereon computer readable instructions which, when executed by at least one processor, perform the method of any one of claims 1 to 5. Or, the method according to claim 6 is carried out. Or a storage medium, characterized in that the method according to claim 10 is carried out.

15. A computer program product comprising a computer program or instructions, said computer program being capable of carrying out the method according to any one of claims 1 to 5 when said computer program is executed on a computer. Alternatively, the computer can execute the method according to claim 6, Or a computer program product, characterized in that the computer is capable of carrying out the method according to claim 10.

16. A computer readable storage medium having stored thereon computer readable instructions which, when executed by at least one processor, perform the method according to claim 10 or 11.

17. A computer program product comprising a computer program or instructions, characterized in that, when said computer program is executed on a computer, the computer is enabled to carry out the method according to claim 10 or 11.

Citation Information

Patent Citations

  • Digital Event Planning and Management Method and System

    JP2016504684A

  • Reputation Based on Frequency

    JP2017505947A

  • Method and apparatus for developing autonomous vehicle applications

    JP2018538583A