CN102331968A - WINE (wine is not an emulator) compatibility automatic checking method on OMS (open mobile system) platform - Google Patents
WINE (wine is not an emulator) compatibility automatic checking method on OMS (open mobile system) platform Download PDFInfo
- Publication number
- CN102331968A CN102331968A CN201110172798A CN201110172798A CN102331968A CN 102331968 A CN102331968 A CN 102331968A CN 201110172798 A CN201110172798 A CN 201110172798A CN 201110172798 A CN201110172798 A CN 201110172798A CN 102331968 A CN102331968 A CN 102331968A
- Authority
- CN
- China
- Prior art keywords
- function
- wine
- api
- program
- wince
- 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
Links
Abstract
The invention discloses a WINE (wine is not an emulator) compatibility automatic checking method on an OMS (open mobile system) platform. The method provides a method for checking whether a WinCE/WM program is compatible with WINE on the OMS platform for a Microsoft Visual Studio integrated development environment. The method comprises the following steps of: checking the used API (application program interface) functions of the WinCE/WM in the WinCE/WM program to confirm whether the API functions are implemented correspondingly in the WINE, noticing a developer about the integrity compatible problem if the API functions which are not implemented exist. The method has importable use value for directly transplanting the WinCE/WM program to the OMS platform.
Description
Technical field
The present invention relates to Mobile operating system, software development and compiling field, the method for the compatible self-verifying of the WINE on especially a kind of OMS platform.
Background technology
Open Mobile System is that a open mobile phone operating system based on linux kernel Android platform construction that communication group of China Mobile and Google cooperation are developed jointly is called for short OMS; It has done special optimization to Chinese market on original Android platform base; Such as removing the Wi-Fi module at hardware aspect; Incompatible WCDMA network formats, the support of moving the 3G network TD-SCDMA of operation in having added.On interface and start-up picture, trickle difference is arranged, show at Chinese typing, simplified form of Chinese Character and all carried out special optimization, the following functions such as product that also can add China Mobile oneself to Chinese user with Android.What first used the OMS system is the oPhone of association mobile phone.
WindowsCE (being called for short WinCE) is that Microsoft is embedded, the basis of mobile computing platform; It is an opening, upgradeable 32 embedded OSs; Be based on the electronic equipment operating system of palmtop computer class; It is the Windows 95 that simplifies, and the graphic user interface of Windows CE is quite outstanding.WinCE is the taproot that Microsoft is directed against embedded system market.Windows Mobile (being called for short WM) is the operating system that Microsoft is directed against mobile equipment custom-made.Along with the develop rapidly of smart mobile phone, Microsoft has strengthened the function of its mobile communication on the basis of WinCE system, thereby independent development becomes the WM system.
Wine is a dry run environment on the x86 processor, utilizes Wine can in other operating systems (operating system of type of being generally Unix such as Linux), directly move the executable program of Windows.Therefore utilize Wine directly obtaining application resource abundant under the Windows environment on the different operating system; Any modification of a lot of Windows application need not carrying out (not needing to recompilate) just can directly move in Wine, and keeps higher running efficiency.
At present, the mode of OMS platform software exploitation mainly contains two kinds:
1, the API (Applicat ion Programming Interface, API) that provides based on the OMS platform fully carries out Development of Software.The software of exploitation moves on the OMS platform and has the compatible problem of any API anything but like this, but need carry out complete recompile to existing software, and workload is big, is unfavorable for quick exploitation.
2, the Wine through OMS transplants the WinCE or the WM program that have existed at present, and such benefit is to reuse fast, but the problem that exists at present is that WINE is unrealized to the API of some WinCE/WM, causes API integrality compatibling problem.
Summary of the invention
The developer transplants carrying out the WINE of WinCE/WM program through OMS fast for ease; The object of the present invention is to provide the method for the compatible self-verifying of WINE on a kind of OMS platform; This method is checked the employed API of WinCE/WM program; Confirm whether it realizes in WINE, and notify the developer unconsummated api function with the mode of message box, and the report compatibility issue; Can let the exploitation personnel in the process of transplanting, locate fast because the compatible problem that is caused of API improves development efficiency.
The OMS platform realizes that through WINE is approximate API among the WinCE/WM comes compatibility operation for compatibility operation WinCE/WM program.Because API that WINE realized accurately or not realizes all API inadequately fully, so the program of part WinCE/WM moves in the WINE of OMS and has compatibility issue, generally speaking, causes the reason of compatibility issue to have two kinds:
The first, the simulation api function that API provided is realized not accurate enoughly, and for example the processing under some particular parameter value combination is also incorrect.
The second, API is still imperfect in simulation, and some api function is also less than realizing (promptly still being do-nothing function).
For the compatibility issue that causes because of accuracy is more difficult to manage, and some problem has only in actual motion and just can show, even in actual motion, also only when specifically using a certain function, just can show.So, be inscrutable basically for the compatibility issue that causes because of accuracy.
Then can be definite fully for the compatibility issue that causes because of integrality.Generally speaking, if called certain WinCE/WM api function in the application software, and this function still is unrealized in the API that this project provides (promptly still do-nothing function), then more or less always the operation of this application software is caused some problems.Just find in the time of can waiting until actual motion fully for such problem, and can check, the compliance check that the method that Here it is should invent proposes in advance.
The design of this method is checked based on the integrality of the api function in the WinCE/WM program; Whether the api function that uses in this method inspection WinCE/WM program is realized in the WINE of OMS platform; Judge promptly whether this api function is do-nothing function or does not exist; If exist at least one WinCE/WMAPI function to be unrealized, notify the WINE of this WinCE/WM program of developer or user and OMS to have API integrality compatibling problem so.
The technical scheme that technical solution problem of the present invention is adopted is:
The method of the compatible self-verifying of the WINE on a kind of OMS platform, it comprises the following aspects:
1, the storage of the api function information of WINE support
In order to carry out the API integrity checking of WinCE/WM program; This method is stored through the information of the WinCE/WM API that realized among the WINE of database to the OMS platform; When carrying out compliance check,, whether concrete realization is arranged promptly through the compatibility of each api function of Query Database judgement.Need the information of the api function of storage to comprise function name, return parameters type and input parameter table.
2, the extraction of the api function of WinCE/WM program
In order to detect the API compatibility that WinCE/WM program indirect loads, the semi-automatic mode of taking following manual work to participate in:
The dynamic connection table of A, inspection object module sees whether it imports the function of one type of aforementioned LoadLibraryA (), if the step of entering B is arranged;
B, eject a dialog box, require user/developer that the path of the dll file that program need use is provided, and derive the function table in this dll file, supply the selected function of wherein using of developer;
C, the api function that the user is selected deposit in the interim table, carry out integrity checking to this table then;
3, the api function of WinCE/WM detects
Through above-mentioned two steps, the API in each program of extracting searches the api function that whether has the respective function name in database; And the type of matching parameter table and rreturn value, if coupling, there is not compatibility issue in form in this function so; If there is not the function of respective name; Perhaps parameter type or rreturn value type do not match, and perhaps parameter type or rreturn value type matching but function body the function of not realizing, so just there is compatibility issue in prompting/warning users.
The realization of this method can be based on Microsoft Visual Studio IDE, and provides the user to use with the form of plug-in unit, also can call through command line mode.
Embodiment
The method of the compatible self-verifying of the WINE on a kind of OMS platform of the present invention; Through extracting the api function information of the indirect call that the WinCE/WM API that directly quotes in the WinCE/WM program executable file and user provide; API information through the OMS WINE realization of Query Database the inside; Whether the program of checking current WinCE/WM exists the API compatibling problem, and notifies the developer, helps to improve the efficient of OMS platform program transplanting development.
The method of the compatible self-verifying of the WINE on a kind of OMS platform of present embodiment comprises the following aspects:
1, the storage of the api function information of WINE support
In order to store the function information that WINE supports, realize through present existing relational database system, such as SQL Server or the MySQL that increases income.Need the information of the api function of storage to comprise function name, return parameters type and input parameter table.Concrete SQL storage list form is as shown in table 1 below:
Table 1:WinCE/WMAPI function is realized the database storing form of situation in WINE
The rreturn value type | Function name | Parameter type 1 | ...... | Parameter type N | Whether realize |
The function name field is a character string type, and return parameters table type is a numeric type, and the input parameter table is made up of a N continuous field afterwards, and the type of field is a numeric type.The quantity of N depends on the maximal value of the number of parameters of WinCE/WM api function.And the type of parameter list parameter and rreturn value determines with the numerical value of realizing definition, and this can carry out the one to one coding of limited type to integer according to the types of variables that api function provides.The initialization of database is made up of the initialization files of the api function of predefined WINE support and realization, and its structure is following:
Form: < type>< function name>(< parameter list >);
Example:
int?fun(int?a,char?b);
bool?CreateWindow(DWORD?HDID);
.
.
.
2, the extraction of the api function of WinCE/WM program
The dynamic link table that extracts the API that directly quotes from the head of WinCE/WM program image file can utilize existing tool implementation, just no longer describes here.Through api function indirect call and the Dynamic Link Library Function quoted, the solution of this method is for the user:
I. check the dynamic connection table of object module, see whether it imports the function of one type of aforementioned LoadLibraryA ().
If II. have, just eject a dialog box, show " object module requires dynamic loading DLL, and the dll file name please be provided ", and an input window and a navigation button are provided, " completion " and " continuation " two buttons then are provided below the dialog box.
III. the user provides after the dll file name, just opens this dll file and obtains its derivative function table; And then ejecting a window, the derivative function of this DLL is enumerated in the inside, supplies the user to choose.
IV. repeat above step, like this, the user provides the dll file name repeatedly and chooses the derivative function that need call, and just forms a tabulation, just can carry out automatic conventional compliance check to this tabulation.
3, the api function of WinCE/WM detects
Through above-mentioned two steps, the API in each program of extracting searches the api function that whether has the respective function name in database, and the type of matching parameter table and rreturn value, if coupling, there is not compatibility issue in form in this function so.If do not exist function or the parameter type of respective name or rreturn value type not to match, so just there is compatibility issue in prompting/warning users.
The user uses for ease, and the realization of this method can be based on Microsoft Visual Studio IDE, and provides the user to use with the form of plug-in unit, also can call through command line mode.This method is through the mode of plug-in unit, and for Visual Studio increases a forms menu option, the user can click this program is carried out above-mentioned inspection.This method is compiled as the order line scrutiny program simultaneously; The user can use in the order line of Visual Studio or Windows; Method of application is the mode of program name+function name, is output as whether this function is realized in WINE and the information of this function parameters table and rreturn value type supplies the user to use.
Below, enumerate a concrete operational instances.
The application program of an existing WinCE/WM; Wherein need use api function is " bool CreateWindow (int w; int y) ", and the user has passed through LoadLibraryA () function call a function in the external dynamic chained file of " SA.dll " " bool killprogress (int tid) " simultaneously.Suppose in the present OMS system that WINE has realized " bool CreateWindow (int w, int y) " function; But " bool killprogress (int the tid) " function of being unrealized is so program has been stored corresponding information in database; The user opens the engineering of this WinCE/WM program image in Visual Studio, and compatible through the compatible button inspection of the inspection in the menu; This method has detected LoadLibraryA () class function, and prompting requires the user that the dynamic link libraries file is provided, and the user passes through dialog box; Provide " SA.dll " document location; The function in this dynamic link library is searched and listed to this method, the api function that user's selection wherein uses, and program is through searching the used api function of database matching user then; Find that " bool killprogress (int tid) " this api function is unrealized, and this program of prompting user in WINE since this function be unrealized and have compatibling problem.The user can be through the mode of order line, and the realization that the mode of loading routine name+function name is checked function whether.
Claims (4)
1. the method for the compatible self-verifying of the WINE on the OMS platform is characterized in that comprising following three aspects:
1) storage of the api function information of WINE support
Information through the WinCE/WM API that realized among the WINE of database to the OMS platform is stored, and when carrying out compliance check, judges the compatibility of each api function through Query Database, and whether concrete realization is promptly arranged; The information of the api function of said storage comprises function name, return parameters type and input parameter table;
2) extraction of the api function of WinCE/WM program
The dynamic connection table of A, inspection object module sees whether it imports the function of one type of aforementioned LoadLibraryA (), if the step of entering B is arranged;
B, eject a dialog box, require user/developer that the path of the dll file that program need use is provided, and derive the function table in this dll file, supply the selected function of wherein using of developer;
C, the api function that the user is selected deposit in the interim table, carry out integrity checking to this table then;
3) api function of WinCE/WM detects
API in each program of extracting searches the api function that whether has the respective function name in database, and the type of matching parameter table and rreturn value; If coupling; There is not compatibility issue in form in this function so, if there is not the function of respective name, perhaps parameter type or rreturn value type do not match; Perhaps parameter type or rreturn value type matching but function body the function of not realizing, so just there is compatibility issue in prompting/warning users.
2. the method for claim 1 is characterized in that: the realization of this method is based on Microsoft Visual Studio IDE, and supplies the user to use with the form of plug-in unit or through command line mode.
3. method as claimed in claim 2 is characterized in that: through the mode of plug-in unit, for Visual Studio increases a forms menu option, the user can click this program is carried out above-mentioned inspection.
4. method as claimed in claim 2; Be characterised in that: through command line mode; Compiler directive row scrutiny program; The user can use in the order line of Visual Studio or Windows, and method of application is the mode of program name+function name, is output as whether this function is realized in WINE and the information of this function parameters table and rreturn value type supplies the user to use.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110172798A CN102331968A (en) | 2011-06-24 | 2011-06-24 | WINE (wine is not an emulator) compatibility automatic checking method on OMS (open mobile system) platform |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110172798A CN102331968A (en) | 2011-06-24 | 2011-06-24 | WINE (wine is not an emulator) compatibility automatic checking method on OMS (open mobile system) platform |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102331968A true CN102331968A (en) | 2012-01-25 |
Family
ID=45483751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110172798A Pending CN102331968A (en) | 2011-06-24 | 2011-06-24 | WINE (wine is not an emulator) compatibility automatic checking method on OMS (open mobile system) platform |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102331968A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104142881A (en) * | 2013-05-07 | 2014-11-12 | 腾讯科技(深圳)有限公司 | Adaptive defect detecting method and device of application program programming interfaces |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050160414A1 (en) * | 2004-01-21 | 2005-07-21 | Nokia Corporation | System and method for dynamically adding features to software applications |
CN101013964A (en) * | 2007-02-02 | 2007-08-08 | 中兴通讯股份有限公司 | Method for detecting compatibility of network element equipment accessing network management system and management system |
-
2011
- 2011-06-24 CN CN201110172798A patent/CN102331968A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050160414A1 (en) * | 2004-01-21 | 2005-07-21 | Nokia Corporation | System and method for dynamically adding features to software applications |
CN101013964A (en) * | 2007-02-02 | 2007-08-08 | 中兴通讯股份有限公司 | Method for detecting compatibility of network element equipment accessing network management system and management system |
Non-Patent Citations (1)
Title |
---|
王亚军等: "Windows程序运行于Linux系统的技术", 《计算机应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104142881A (en) * | 2013-05-07 | 2014-11-12 | 腾讯科技(深圳)有限公司 | Adaptive defect detecting method and device of application program programming interfaces |
CN104142881B (en) * | 2013-05-07 | 2019-04-12 | 腾讯科技(深圳)有限公司 | The adaptation defect inspection method and detection device of application programming interface |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3377968B1 (en) | Dynamic update of an application in compilation and deployment | |
CA3008844C (en) | Automatic generation of microservices based on technical description of legacy code | |
US11789715B2 (en) | Systems and methods for transformation of reporting schema | |
EP2359247B1 (en) | Transforming user script code for debugging | |
US10445216B2 (en) | Debugging program code at instruction level through emulation | |
WO2019005228A1 (en) | Automated source code adaption to inject features between platform versions | |
US20170270229A1 (en) | Information processing method and device and computer storage medium | |
WO2017087801A1 (en) | Dynamic update of an application in compilation and deployment | |
US9535687B2 (en) | Audited builds based upon separate class dependency records | |
KR20150061203A (en) | Method for providing embedded software development tools for supporting embedded software development environment based on native building and apparatus thereof | |
CN102331968A (en) | WINE (wine is not an emulator) compatibility automatic checking method on OMS (open mobile system) platform | |
CN109284222B (en) | Software unit, project testing method, device and equipment in data processing system | |
CN114281402A (en) | Software version management method and device | |
CN113835952B (en) | Linux system call monitoring method based on compiler code injection | |
CN114706586A (en) | Code compiling method, code running method, code compiling device, code running device, computer equipment and storage medium | |
CN114610516A (en) | Application program repairing method and device, computer equipment and storage medium | |
CN113296786A (en) | Data processing method and device, electronic equipment and storage medium | |
US10102109B2 (en) | Exception resolution in a software development session | |
US20120330878A1 (en) | Conventions for inferring data models | |
García-Díaz et al. | MCTest: towards an improvement of match algorithms for models | |
US9891894B1 (en) | Code continuity preservation during automatic code generation | |
CN111506513B (en) | File system testing method based on hierarchical model | |
CN102262545A (en) | Program installing method and device | |
CN112597169A (en) | Method for realizing industrial software multi-tenant data isolation | |
CN105335289A (en) | Rapid customization method of configuration driven testing platform software system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120125 |