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 PDF

Info

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
Application number
CN201110172798A
Other languages
Chinese (zh)
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.)
INSIGMA TECHNOLOGY Co Ltd
Original Assignee
INSIGMA 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 INSIGMA TECHNOLOGY Co Ltd filed Critical INSIGMA TECHNOLOGY Co Ltd
Priority to CN201110172798A priority Critical patent/CN102331968A/en
Publication of CN102331968A publication Critical patent/CN102331968A/en
Pending legal-status Critical Current

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

The method of the compatible self-verifying of the WINE on the OMS platform
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.
CN201110172798A 2011-06-24 2011-06-24 WINE (wine is not an emulator) compatibility automatic checking method on OMS (open mobile system) platform Pending CN102331968A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
王亚军等: "Windows程序运行于Linux系统的技术", 《计算机应用》 *

Cited By (2)

* Cited by examiner, † Cited by third party
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