[go: up one dir, main page]

JP6639238B2 - Programs and computers - Google Patents

Programs and computers Download PDF

Info

Publication number
JP6639238B2
JP6639238B2 JP2016000134A JP2016000134A JP6639238B2 JP 6639238 B2 JP6639238 B2 JP 6639238B2 JP 2016000134 A JP2016000134 A JP 2016000134A JP 2016000134 A JP2016000134 A JP 2016000134A JP 6639238 B2 JP6639238 B2 JP 6639238B2
Authority
JP
Japan
Prior art keywords
program
subprogram
library
application software
computer
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.)
Active
Application number
JP2016000134A
Other languages
Japanese (ja)
Other versions
JP2017122949A (en
Inventor
昭治 稲垣
昭治 稲垣
一博 勝倉
一博 勝倉
Original Assignee
株式会社ユニフィニティー
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 株式会社ユニフィニティー filed Critical 株式会社ユニフィニティー
Priority to JP2016000134A priority Critical patent/JP6639238B2/en
Publication of JP2017122949A publication Critical patent/JP2017122949A/en
Application granted granted Critical
Publication of JP6639238B2 publication Critical patent/JP6639238B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、プログラムおよびコンピュータに関する。   The present invention relates to a program and a computer.

近年、様々な機種の携帯端末が普及している。これらの携帯端末に業務用アプリケーションソフトウェアをインストールさせ、業務の遂行に用いることが提案されている。他方、画面サイズおよびオペレーティングシステムは、携帯端末の機種ごとに異なるため、開発者は、それぞれの携帯端末において同じ挙動となるようにアプリケーションソフトウェアを設計する必要がある。
特許文献1には、マルチプラットフォームおよびマルチ言語に対応したソフトウェア開発キットが開示されている。具体的には、特許文献1に記載のソフトウェア開発キットは、プラットフォームごとに設計された同一機能のネイティブライブラリと、各ネイティブライブラリに共通の、複数の言語のラッパークラスとを有する。
In recent years, various types of mobile terminals have become widespread. It has been proposed that business application software be installed in these portable terminals and used for performing business. On the other hand, since the screen size and the operating system are different for each model of the mobile terminal, the developer needs to design the application software so that each mobile terminal has the same behavior.
Patent Literature 1 discloses a software development kit that supports multiple platforms and multiple languages. Specifically, the software development kit described in Patent Literature 1 has a native library of the same function designed for each platform, and a wrapper class of a plurality of languages common to each native library.

特開2013−97747号公報JP 2013-97747 A

しかしながら、特許文献1に記載のソフトウェア開発キットは、プラットフォームごとにネイティブライブラリを用意する必要がある。特許文献1においては、各ネイティブライブラリが同一機能を有するものとされているが、各ネイティブライブラリは別個にコンパイルされることとなるために、同一機能を提供しつつも挙動に差が生じる可能性がある。そのため、アプリケーションソフトウェアを実行した場合に、プラットフォームごとに挙動の差が生じる可能性がある。
本発明の目的は、アプリケーションソフトウェアを実行した場合に、プラットフォームごとに挙動の差が生じなくさせるためのプログラムおよびコンピュータを提供することにある。
However, the software development kit described in Patent Document 1 needs to prepare a native library for each platform. In Patent Document 1, each native library is assumed to have the same function. However, since each native library is compiled separately, there is a possibility that a difference in behavior may occur while providing the same function. There is. Therefore, when application software is executed, a difference in behavior may occur between platforms.
It is an object of the present invention to provide a program and a computer for preventing a difference in behavior between platforms when application software is executed.

本発明の第1の態様によれば、プログラムは、コンピュータに実装されるオペレーティングシステムのシステムコールを前記コンピュータに呼び出させるための第1のサブプログラムと、前記システムコールを呼び出しを含まず、かつ前記第1のサブプログラムの呼び出しを含むルーチンを前記コンピュータに実行させるための第2のサブプログラムと、前記コンピュータに、前記第2のサブプログラムを呼び出す命令が記述されたリストに従って前記第2のサブプログラムを呼び出させるための第3のサブプログラムとを備え、前記第1のサブプログラムは、イベントハンドラにより操作を検知して操作情報を生成するラッパー関数を含み、前記第1のサブプログラムは、前記ラッパー関数により前記コンピュータに前記操作情報を生成させ、前記第3のサブプログラムは、前記コンピュータに前記操作情報に基づいて前記リストに従った処理を実行させるAccording to a first aspect of the present invention, a program does not include a first subprogram for causing the computer to call a system call of an operating system mounted on the computer, and the system call is not included, and A second subprogram for causing the computer to execute a routine including a call of the first subprogram, and the second subprogram according to a list in which instructions for calling the second subprogram are described in the computer. And a wrapper function for detecting operation by an event handler to generate operation information, and wherein the first subprogram includes the wrapper. The operation information is generated in the computer by a function. The third sub-program, to execute the processing according to the list based on the operation information to the computer.

本発明の第2の態様によれば、第1の態様に係るプログラムは、前記第1のサブプログラムと前記第2のサブプログラムとがそれぞれ別個のファイルとして構成される。   According to a second aspect of the present invention, in the program according to the first aspect, the first subprogram and the second subprogram are configured as separate files.

本発明の第3の態様によれば、第1または第2の態様に係るプログラムは、前記第1のサブプログラムが、第1の言語で記述されており、前記第2のサブプログラムが、前記第1の言語と異なる第2の言語で記述されている。   According to a third aspect of the present invention, in the program according to the first or second aspect, the first subprogram is described in a first language, and the second subprogram is It is described in a second language different from the first language.

本発明の第4の態様によれば、コンピュータは、第1から第3の何れかの態様に係るプログラムを記憶する記憶装置と、前記記憶装置が記憶する前記プログラムを実行するCPUとを備える。 According to a fourth aspect of the present invention, a computer includes a storage device storing the program according to any one of the first to third aspects, and a CPU executing the program stored in the storage device .

上記態様のうち少なくとも1つの態様によれば、プログラムは、システムコールを呼び出しを含まないルーチンをコンピュータに実行させる第2のサブプログラムをオペレーティングシステムごとに共通に持つ。そのため、第2のサブプログラムは、オペレーティングシステムごとに別個にコンパイルする必要がない。つまり、異なるオペレーティングシステムを実装する複数のコンピュータは、それぞれ同一の第2のサブプログラムを実行することができる。これにより、上記態様に係るプログラムは、異なるオペレーティングシステムを実装するコンピュータにアプリケーションプログラムを実行させた場合に、同一の挙動を実現させることができる。   According to at least one of the above aspects, the program has, for each operating system, a second subprogram that causes a computer to execute a routine that does not include a system call. Therefore, the second subprogram does not need to be separately compiled for each operating system. That is, a plurality of computers implementing different operating systems can each execute the same second subprogram. Thereby, the program according to the above aspect can realize the same behavior when the application program is executed by a computer that implements a different operating system.

一実施形態による開発システムの構成を示す概略ブロック図である。FIG. 1 is a schematic block diagram illustrating a configuration of a development system according to an embodiment. 一実施形態に係るアプリケーションソフトウェアの実行処理を示すフローチャートである。6 is a flowchart illustrating an execution process of application software according to an embodiment. 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。FIG. 2 is a schematic block diagram illustrating a configuration of a computer according to at least one embodiment.

以下、図面を参照しながら実施形態について詳しく説明する。
図1は、一実施形態による開発システムの構成を示す概略ブロック図である。
開発システム1は、マルチプラットフォームのアプリケーションソフトウェアを開発するための開発環境である。開発システム1は、開発装置100と複数の端末装置200とを備える。なお、本実施形態において開発装置100と端末装置200とは、それぞれ異なる種類のオペレーティングシステムを実装する。具体的には、本実施形態において開発装置100は、第1のオペレーティングシステムを実装し、端末装置200は、第2のオペレーティングシステムを実装する。
Hereinafter, embodiments will be described in detail with reference to the drawings.
FIG. 1 is a schematic block diagram illustrating a configuration of a development system according to an embodiment.
The development system 1 is a development environment for developing multi-platform application software. The development system 1 includes a development device 100 and a plurality of terminal devices 200. In this embodiment, the development device 100 and the terminal device 200 each implement different types of operating systems. Specifically, in the present embodiment, the development device 100 implements a first operating system, and the terminal device 200 implements a second operating system.

開発装置100は、アプリケーションソフトウェアを生成する装置である。開発装置100は、設計部101、アプリDB102、ベースプログラム記憶部103、実行部104、通信部105を備える。   The development device 100 is a device that generates application software. The development device 100 includes a design unit 101, an application DB 102, a base program storage unit 103, an execution unit 104, and a communication unit 105.

設計部101は、利用者によるアプリケーションソフトウェアの設計情報の入力を受け付ける。設計情報は、アプリケーションソフトウェアの実行画面に表示させるパーツの表示態様を示すパーツ情報およびパーツに対するアクションに応じた処理の内容を示す処理情報を含む。パーツの表示態様の例としては、パーツの種別(ボタン、テキストボックス、ラベルなど)、パーツの大きさ、パーツの位置、およびパーツに対する操作があった場合の遷移先のページが挙げられる。処理情報は、予め定められた複数のコマンド(ルーチン)の中から、任意のものを組み合わせたものである。   The design unit 101 receives input of design information of application software by a user. The design information includes part information indicating a display mode of a part to be displayed on the execution screen of the application software, and processing information indicating the content of a process corresponding to an action on the part. Examples of the display mode of a part include a type of the part (a button, a text box, a label, and the like), a size of the part, a position of the part, and a transition destination page when an operation is performed on the part. The processing information is obtained by combining any of a plurality of predetermined commands (routines).

アプリDB102は、設計部101によって設計されたアプリケーションソフトウェアを記憶する。アプリケーションソフトウェアの実体は、バイナリ形式に変換されたパーツ情報のリストおよび処理情報のリストによって構成される。   The application DB 102 stores application software designed by the design unit 101. The entity of the application software is composed of a list of parts information converted into a binary format and a list of processing information.

ベースプログラム記憶部103は、アプリDB102が記憶するアプリケーションソフトウェアを実行するためのベースプログラムを記憶する。ベースプログラムは、サブプログラムとして第1のシステムコールライブラリP1a、ロジックライブラリP2、および解釈プログラムP3を備える。第1のシステムコールライブラリP1aは、第1のオペレーティングシステムに対するシステムコールのラッパー関数からなるライブラリである。つまり、第1のシステムコールライブラリP1aは、第1のオペレーティングシステムのシステムコールをコンピュータに呼び出させるための第1のサブプログラムの一例である。第1のシステムコールライブラリP1aは、第1のオペレーティングシステム用のプログラム開発言語として認められた第1の言語によって記述されるプログラム、または第1の言語により記述されたソースコードのコンパイルにより生成される実行ファイルである。ロジックライブラリP2は、予め定められた複数のコマンドを実装する関数からなるライブラリである。なお、ロジックライブラリP2に含まれる関数は、システムコール呼び出し手続を含まず、代わりに第1のシステムコールライブラリP1aに含まれるラッパー関数の呼び出し手続を含み得る。ロジックライブラリP2は、第2のサブプログラムの一例である。ロジックライブラリP2は、C言語またはC++言語により記述されたソースコードのコンパイルにより生成される実行ファイルである。つまり、ロジックライブラリP2は、機械語で記述される。解釈プログラムP3は、アプリDB102が記憶するアプリケーションソフトウェアを読み出し、アプリケーションソフトウェアを構成する処理情報のリストに従って、ロジックライブラリP2に含まれる関数を呼び出させるためのプログラムである。解釈プログラムP3は、第3のサブプログラムの一例である。解釈プログラムP3は、C言語またはC++言語により記述されたソースコードのコンパイルにより生成される実行ファイルである。つまり、解釈プログラムP3は、機械語で記述される。   The base program storage unit 103 stores a base program for executing application software stored in the application DB 102. The base program includes a first system call library P1a, a logic library P2, and an interpretation program P3 as subprograms. The first system call library P1a is a library including a wrapper function of a system call for the first operating system. That is, the first system call library P1a is an example of a first subprogram for causing a computer to call a system call of the first operating system. The first system call library P1a is generated by compiling a program described in a first language recognized as a program development language for a first operating system, or a source code described in the first language. It is an executable file. The logic library P2 is a library including functions for implementing a plurality of predetermined commands. Note that the function included in the logic library P2 does not include the system call calling procedure, but may instead include the wrapper function calling procedure included in the first system call library P1a. The logic library P2 is an example of a second subprogram. The logic library P2 is an execution file generated by compiling source code described in the C language or the C ++ language. That is, the logic library P2 is described in a machine language. The interpretation program P3 is a program for reading application software stored in the application DB 102 and calling a function included in the logic library P2 according to a list of processing information configuring the application software. The interpretation program P3 is an example of a third subprogram. The interpretation program P3 is an execution file generated by compiling source code described in the C language or the C ++ language. That is, the interpretation program P3 is described in a machine language.

実行部104は、ベースプログラム記憶部103が記憶するベースプログラムを起動し、アプリケーションソフトウェアを実行する。具体的には、実行部104は、解釈プログラムP3の実行により、アプリDB102からアプリケーションソフトウェアを読み出し、処理情報のリストに記載されているコマンドが示す関数を特定する。また実行部104は、解釈プログラムP3の実行により特定した関数をロジックライブラリP2から呼び出す。また実行部104は、ロジックライブラリP2に含まれる関数の実行により、第1のシステムコールライブラリP1aに含まれるラッパ関数を呼び出す。そして実行部104は、ラッパ関数の呼び出しにより、システムコールを呼び出す。
通信部105は、アプリDB102に記録されたアプリケーションソフトウェアを端末装置200に送信する。
The execution unit 104 activates a base program stored in the base program storage unit 103 and executes application software. Specifically, the execution unit 104 reads the application software from the application DB 102 by executing the interpretation program P3, and specifies the function indicated by the command described in the processing information list. The execution unit 104 calls the function specified by the execution of the interpretation program P3 from the logic library P2. The execution unit 104 calls a wrapper function included in the first system call library P1a by executing a function included in the logic library P2. Then, the execution unit 104 calls a system call by calling the wrapper function.
The communication unit 105 transmits the application software recorded in the application DB 102 to the terminal device 200.

端末装置200は、開発装置100によって開発されたアプリケーションソフトウェアを実行する装置である。端末装置200は、通信部201、アプリDB202、ベースプログラム記憶部203、実行部204を備える。   The terminal device 200 is a device that executes application software developed by the development device 100. The terminal device 200 includes a communication unit 201, an application DB 202, a base program storage unit 203, and an execution unit 204.

通信部201は、開発装置100からアプリケーションソフトウェアを受信する。
アプリDB202は、通信部201が受信したアプリケーションソフトウェアを記憶する。つまり、アプリDB202は、バイナリ形式に変換されたパーツ情報のリストおよび処理情報のリストを記憶する。
ベースプログラム記憶部203は、アプリDB202が記憶するアプリケーションソフトウェアを実行するためのベースプログラムを記憶する。ベースプログラムは、サブプログラムとして、第2のシステムコールライブラリP1b、ロジックライブラリP2、および解釈プログラムP3を備える。第2のシステムコールライブラリP1bは、第2のオペレーティングシステムに対するシステムコールのラッパー関数からなるライブラリである。つまり、第2のシステムコールライブラリP1bは、第2のオペレーティングシステムのシステムコールをコンピュータに呼び出させるための第1のサブプログラムの一例である。第2のシステムコールライブラリP1bは、第2のオペレーティングシステム用のプログラム開発言語として認められた第2の言語によって記述されるプログラム、または第2の言語により記述されたソースコードのコンパイルにより生成される実行ファイルである。
ベースプログラム記憶部203が記憶するロジックライブラリP2および解釈プログラムP3は、それぞれ開発装置100のベースプログラム記憶部103が記憶するロジックライブラリP2および解釈プログラムP3と同じものである。
実行部204は、ベースプログラム記憶部203が記憶するベースプログラムを起動し、アプリケーションソフトウェアを実行する。
The communication unit 201 receives application software from the development device 100.
The application DB 202 stores the application software received by the communication unit 201. That is, the application DB 202 stores a list of parts information and a list of processing information converted into the binary format.
The base program storage unit 203 stores a base program for executing application software stored in the application DB 202. The base program includes, as subprograms, a second system call library P1b, a logic library P2, and an interpretation program P3. The second system call library P1b is a library including a wrapper function of a system call for the second operating system. That is, the second system call library P1b is an example of a first subprogram for causing a computer to call a system call of the second operating system. The second system call library P1b is generated by compiling a program described in a second language recognized as a program development language for the second operating system, or a source code described in the second language. It is an executable file.
The logic library P2 and the interpretation program P3 stored in the base program storage unit 203 are the same as the logic library P2 and the interpretation program P3 stored in the base program storage unit 103 of the development device 100, respectively.
The execution unit 204 starts a base program stored in the base program storage unit 203 and executes application software.

なお、第1のシステムコールライブラリP1aおよび第2のシステムコールライブラリP1bは、それぞれ同一の機能を有し、かつ同一のシグネチャで定義されたラッパー関数を格納する。例えば、第1のシステムコールライブラリP1aおよび第2のシステムコールライブラリP1bは、いずれもユーザによる座標の指定を検出する指定検出関数を格納する。第1のシステムコールライブラリP1aに格納された指定検出関数は、実装としてマウスの左クリックイベントおよびそのときにカーソルが示す座標を返す。第2のシステムコールライブラリP1bに格納された指定検出関数は、実装としてタッチパネルのタッチイベントおよびそのときにタッチされた座標を返す。これにより、どのようなオペレーティングシステムを実装するコンピュータにおいても、指定検出関数を示すシグネチャを呼び出す同一のロジックライブラリP2を実行することで、コンピュータにユーザによる座標の指定を検出させることができる。以下、第1のシステムコールライブラリP1aおよび第2のシステムコールライブラリP1bを総称する場合、単にシステムコールライブラリP1という。   The first system call library P1a and the second system call library P1b each have the same function and store a wrapper function defined by the same signature. For example, each of the first system call library P1a and the second system call library P1b stores a designation detection function for detecting designation of a coordinate by the user. The designated detection function stored in the first system call library P1a returns, as an implementation, a left mouse click event and coordinates indicated by the cursor at that time. The designated detection function stored in the second system call library P1b returns, as an implementation, a touch event of the touch panel and coordinates touched at that time. With this, even in a computer on which any operating system is installed, by executing the same logic library P2 that calls the signature indicating the designated detection function, the computer can detect the designation of the coordinates by the user. Hereinafter, the first system call library P1a and the second system call library P1b are simply referred to as the system call library P1.

ここで、本実施形態に係る開発装置によるアプリケーションソフトウェアの実行処理について説明する。なお、ここでは開発装置100のアプリケーションソフトウェアの実行処理について説明するが、端末装置200のアプリケーションソフトウェアの実行処理も同様である。
図2は、一実施形態に係るアプリケーションソフトウェアの実行処理を示すフローチャートである。
実行部104は、ベースプログラム記憶部103が記憶するベースプログラムを起動すると、ベースプログラム記憶部103から解釈プログラムP3を読み出して実行する(ステップS1)。次に、実行部104は、解釈プログラムP3に従い、アプリDB102からアプリケーションソフトウェアを読み出す(ステップS2)。実行部104は、読み出したアプリケーションソフトウェアに含まれるパーツ情報に基づいてアプリケーションソフトウェアの実行画面を生成する(ステップS3)。
Here, execution processing of application software by the development apparatus according to the present embodiment will be described. Here, the execution process of the application software of the development device 100 will be described, but the execution process of the application software of the terminal device 200 is also the same.
FIG. 2 is a flowchart illustrating execution processing of the application software according to the embodiment.
When starting the base program stored in the base program storage unit 103, the execution unit 104 reads and executes the interpretation program P3 from the base program storage unit 103 (step S1). Next, the execution unit 104 reads application software from the application DB 102 according to the interpretation program P3 (Step S2). The execution unit 104 generates an application software execution screen based on the read part information included in the application software (step S3).

開発者が開発装置100に何かしらの操作を行うと、実行部104は、第1のシステムコールライブラリP1aのイベントハンドラに相当するラッパー関数に従って、開発者の操作を検知し、オペレーティングシステムで共通のシグネチャにより操作情報を生成する(ステップS4)。例えば、操作情報には、操作の種別および操作のあった座標が含まれる。次に、実行部104は、解釈プログラムP3に従って、操作情報を読み取り、操作されたパーツを特定する(ステップS5)。具体的には、実行部104は、アプリケーションソフトウェアを構成するパーツ情報のリストから、シグネチャが示す座標に存在するパーツを示すパーツ情報を特定する。次に、実行部104は、解釈プログラムP3に従って、特定したパーツ情報に関連付けられた処理を示す処理情報を特定する(ステップS6)。具体的には、実行部104は、アプリケーションソフトウェアを構成する処理情報のリストから、特定したパーツに関連付けられた処理情報を特定する。   When the developer performs any operation on the development device 100, the execution unit 104 detects the operation of the developer according to the wrapper function corresponding to the event handler of the first system call library P1a, and performs a signature common to the operating system. To generate operation information (step S4). For example, the operation information includes the type of operation and the coordinates where the operation was performed. Next, the execution unit 104 reads the operation information according to the interpretation program P3, and specifies the operated part (Step S5). Specifically, the execution unit 104 specifies part information indicating a part existing at the coordinates indicated by the signature from a list of part information configuring the application software. Next, the execution unit 104 specifies processing information indicating the processing associated with the specified part information according to the interpretation program P3 (Step S6). Specifically, the execution unit 104 specifies the processing information associated with the specified part from the list of the processing information configuring the application software.

次に、実行部104は、読み出した処理情報に含まれるコマンドを記載順に選択し、すべてのコマンドについて、以下のステップS8からステップS10の処理を実行する(ステップS7)。
まず実行部104は、解釈プログラムP3に従って、ロジックライブラリP2から選択されたコマンドに対応する関数を呼び出す(ステップS8)。実行部104は、呼び出されたロジックライブラリP2の関数に従って、第1のシステムコールライブラリP1aのラッパー関数を呼び出す(ステップS9)。実行部104は、呼び出された第1のシステムコールライブラリP1aの関数に従ってシステムコールを呼び出す(ステップS10)。
実行部104は、処理情報に含まれるすべてのコマンドについてステップS8からステップS10の処理を実行すると、ステップS4にもどり、開発者の操作を待機する。
Next, the execution unit 104 selects the commands included in the read processing information in the order described, and executes the following steps S8 to S10 for all the commands (step S7).
First, the execution unit 104 calls a function corresponding to the command selected from the logic library P2 according to the interpretation program P3 (Step S8). The execution unit 104 calls the wrapper function of the first system call library P1a according to the called function of the logic library P2 (step S9). The execution unit 104 calls a system call according to the called function of the first system call library P1a (step S10).
After executing the processing from step S8 to step S10 for all commands included in the processing information, the execution unit 104 returns to step S4 and waits for a developer operation.

このように、本実施形態によれば、開発装置100および端末装置200は、オペレーティングシステムごとに異なるシステムコールライブラリP1、ならびにオペレーティングシステムによらず共通のロジックライブラリP2および解釈プログラムP3を有するプログラムを実行する。これにより、開発装置100および複数の端末装置200は、アプリケーションソフトウェアの実行により、実装するオペレーティングシステムによらず同一の挙動をとることとなる。   As described above, according to the present embodiment, the development device 100 and the terminal device 200 execute the program having the system call library P1 that differs for each operating system, and the common logic library P2 and the interpretation program P3 regardless of the operating system. I do. As a result, the development device 100 and the plurality of terminal devices 200 take the same behavior regardless of the operating system to be implemented by executing the application software.

また、本実施形態によれば、アプリケーションソフトウェアの実行によりなされる処理は、ロジックライブラリP2が実装するメソッドの呼び出しの組み合わせを示す処理情報のリストによって定義される。これにより、同一のアプリケーションソフトウェアを、異なるオペレーティングシステムを実装する端末装置200に実行させることができる。また、端末装置200のオペレーティングシステムの変更が生じた場合にも、システムコールライブラリP1の更新により、端末装置200は、アプリケーションソフトウェアを改修することなくそのアプリケーションソフトウェアを実行することができる。   Further, according to the present embodiment, the processing performed by the execution of the application software is defined by a list of processing information indicating a combination of calls of a method implemented by the logic library P2. Thereby, the same application software can be executed by the terminal device 200 that implements a different operating system. Further, even when the operating system of the terminal device 200 changes, the terminal device 200 can execute the application software without modifying the application software by updating the system call library P1.

また、本実施形態によれば、開発装置100および端末装置200は、システムコールライブラリP1とロジックライブラリP2とを別個のファイルとして記憶する。これにより、開発者は、端末装置200のオペレーティングシステムの更新が生じた場合に、システムコールライブラリP1のみを改修することで、ロジックライブラリP2を改修することなく、新たなオペレーティングシステムにおけるアプリケーションプログラムの実行環境を生成することができる。   Further, according to the present embodiment, the development device 100 and the terminal device 200 store the system call library P1 and the logic library P2 as separate files. Thus, when the operating system of the terminal device 200 is updated, the developer modifies only the system call library P1 to execute the application program in the new operating system without modifying the logic library P2. An environment can be created.

また、本実施形態によれば、システムコールライブラリP1とロジックライブラリP2とがそれぞれ異なる言語で記述されている。具体的には、システムコールライブラリP1は、オペレーティングシステムでプログラム開発言語として認められた言語を用いて生成されたものである。またロジックライブラリP2は、C言語またはC++言語のコンパイルにより生成されたものである。これにより、ベースプログラム記憶部103が記憶するプログラムは、プログラム開発言語として認められた言語を用いて生成されたプログラムとして振る舞いつつ、C系言語で生成されたプログラムの特徴である高速な処理を実現することができる。また、C言語およびC++言語は、アセンブラとの親和性が高いため、異なるオペレーティングシステムを搭載するコンピュータに同一の挙動をとらせることができる。   According to the present embodiment, the system call library P1 and the logic library P2 are described in different languages. Specifically, the system call library P1 is generated using a language recognized by the operating system as a program development language. The logic library P2 is generated by compiling the C language or the C ++ language. As a result, the program stored in the base program storage unit 103 behaves as a program generated using a language recognized as a program development language, and realizes high-speed processing which is a characteristic of a program generated in the C language. can do. In addition, since the C language and the C ++ language have high affinity with an assembler, computers having different operating systems can have the same behavior.

また、本実施形態によれば、開発装置100が設計部101に加え、実行部104およびベースプログラム記憶部103を備える。つまり、開発装置100は、端末装置200と同一のアプリケーションソフトウェア実行環境を備える。これにより、開発者は、実機と同じ環境で、アプリケーションソフトウェアのテストをすることができる。   Further, according to the present embodiment, the development device 100 includes the execution unit 104 and the base program storage unit 103 in addition to the design unit 101. That is, the development device 100 includes the same application software execution environment as the terminal device 200. This allows the developer to test the application software in the same environment as the actual device.

以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
例えば、上述した実施形態に係る開発装置100が、実行部104およびベースプログラム記憶部103を備えるが、これに限られない。例えば、他の実施形態に係る開発装置100は、テスト環境を備えていなくてもよい。
As described above, one embodiment has been described in detail with reference to the drawings. However, the specific configuration is not limited to the above, and various design changes and the like can be made.
For example, the development device 100 according to the above-described embodiment includes the execution unit 104 and the base program storage unit 103, but is not limited thereto. For example, the development device 100 according to another embodiment may not include a test environment.

また、上述した実施形態に係る複数の端末装置200は、いずれも第2のオペレーションシステムを実装するが、これに限られない。例えば、他の実施形態に係る端末装置200は、それぞれ異なるオペレーションシステムを実装するものであってもよい。   In addition, each of the plurality of terminal devices 200 according to the above-described embodiment implements the second operation system, but is not limited thereto. For example, the terminal devices 200 according to the other embodiments may each implement a different operation system.

また、上述した実施形態に係る複数の端末装置200は、開発装置100と異なるオペレーションシステムを実装するが、これに限られない。例えば、他の実施形態においては、一部の端末装置200が、開発装置100と同一のオペレーションシステムを実装するものであってもよい。   In addition, the plurality of terminal devices 200 according to the embodiment described above mount an operation system different from the development device 100, but are not limited thereto. For example, in another embodiment, some terminal devices 200 may implement the same operation system as the development device 100.

また、上述した実施形態によれば、システムコールライブラリP1とロジックライブラリP2と解釈プログラムP3とが別個のファイルであるが、これに限られない。例えば、他の実施形態においては、ロジックライブラリP2と解釈プログラムP3とが同一の実行ファイルに実装されてもよい。   According to the above-described embodiment, the system call library P1, the logic library P2, and the interpretation program P3 are separate files, but are not limited thereto. For example, in another embodiment, the logic library P2 and the interpretation program P3 may be mounted on the same executable file.

まあ、上述した実施形態によれば、ロジックライブラリP2は、C言語またはC++言語のコンパイルにより生成されたものであるが、これに限られない。例えば、他の実施形態においては、他のコンパイラ言語のコンパイルにより生成されたものであってもよい。また他の実施形態においては、他のインタープリタ言語により生成されたものであってもよい。   According to the above-described embodiment, the logic library P2 is generated by compiling the C language or the C ++ language, but is not limited thereto. For example, in another embodiment, it may be generated by compiling another compiler language. In other embodiments, the language may be generated in another interpreted language.

また、上述した実施形態によれば、開発装置100は、端末装置200との通信によりアプリケーションソフトウェアの受け渡しを行うが、これに限られない。例えば、他の実施形態に係る開発装置100は、所定のサーバ装置にアプリケーションソフトウェアを記録し、端末装置200がそのサーバ装置からアプリケーションソフトウェアをダウンロードするものであってもよい。また、他の実施形態に係る開発装置100は、アプリケーションソフトウェアを取り外し可能な記録媒体に記録し、その記録媒体を端末装置200に接続することで、アプリケーションソフトウェアを受け渡すものであってもよい。   Further, according to the above-described embodiment, the development device 100 transfers the application software by communicating with the terminal device 200, but is not limited thereto. For example, the development device 100 according to another embodiment may record application software in a predetermined server device, and the terminal device 200 may download the application software from the server device. Further, the development device 100 according to another embodiment may transfer the application software by recording the application software on a removable recording medium and connecting the recording medium to the terminal device 200.

図3は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ9は、CPU901、主記憶装置902、補助記憶装置903、インタフェース904を備える。
上述の開発装置100および端末装置200は、コンピュータ9に実装される。そして、上述した処理部は、プログラムの形式で補助記憶装置903に記憶されている。また、上述したベースプログラム(システムコールライブラリP1、ロジックライブラリP2および解釈プログラムP3)、ならびにアプリケーションソフトウェアも、補助記憶装置903に記憶される。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。
FIG. 3 is a schematic block diagram illustrating a configuration of a computer according to at least one embodiment.
The computer 9 includes a CPU 901, a main storage device 902, an auxiliary storage device 903, and an interface 904.
The development device 100 and the terminal device 200 described above are mounted on the computer 9. The processing units described above are stored in the auxiliary storage device 903 in the form of a program. Further, the above-described base programs (the system call library P1, the logic library P2, and the interpretation program P3), and application software are also stored in the auxiliary storage device 903. The CPU 901 reads out the program from the auxiliary storage device 903, expands the program in the main storage device 902, and executes the above processing according to the program.

なお、少なくとも1つの実施形態において、補助記憶装置903は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース904を介して接続される磁気ディスク、光磁気ディスク、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ9に配信される場合、配信を受けたコンピュータ9が当該プログラムを主記憶装置902に展開し、上記処理を実行しても良い。   In at least one embodiment, the auxiliary storage device 903 is an example of a non-transitory tangible medium. Other examples of non-transitory tangible media include a magnetic disk, a magneto-optical disk, a CD-ROM (Compact Disc Read Only Memory), and a DVD-ROM (Digital Versatile Disc Read Only Memory) connected via the interface 904. And a semiconductor memory. When the program is distributed to the computer 9 via a communication line, the computer 9 that has received the program may load the program into the main storage device 902 and execute the above-described processing.

また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置903に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であっても良い。   Further, the program may be for realizing a part of the functions described above. Further, the program may be a so-called difference file (difference program) that realizes the above-described functions in combination with another program already stored in the auxiliary storage device 903.

1 開発システム
100 開発装置
103 ベースプログラム記憶部
200 端末装置
203 ベースプログラム記憶部
P1a 第1のシステムコールライブラリ
P1b 第2のシステムコールライブラリ
P2 ロジックライブラリ
P3 メインプログラム
1 Development System 100 Development Device 103 Base Program Storage Unit 200 Terminal Device 203 Base Program Storage Unit P1a First System Call Library P1b Second System Call Library P2 Logic Library P3 Main Program

Claims (4)

コンピュータに実装されるオペレーティングシステムのシステムコールを前記コンピュータに呼び出させるための第1のサブプログラムと、
前記システムコールを呼び出しを含まず、かつ前記第1のサブプログラムの呼び出しを含むルーチンを前記コンピュータに実行させるための第2のサブプログラムと、
前記コンピュータに、前記第2のサブプログラムを呼び出す命令が記述されたリストに従って前記第2のサブプログラムを呼び出させるための第3のサブプログラムと
を備え
前記第1のサブプログラムは、イベントハンドラにより操作を検知して操作情報を生成するラッパー関数を含み、
前記第1のサブプログラムは、前記ラッパー関数により前記コンピュータに前記操作情報を生成させ、
前記第3のサブプログラムは、前記コンピュータに前記操作情報に基づいて前記リストに従った処理を実行させる
プログラム。
A first subprogram for causing the computer to call a system call of an operating system mounted on the computer;
A second subprogram for causing the computer to execute a routine that does not include a call to the system call and includes a call to the first subprogram;
A third subprogram for causing the computer to call the second subprogram according to a list in which an instruction for calling the second subprogram is described ;
The first subprogram includes a wrapper function that detects operation by an event handler and generates operation information,
The first subprogram causes the computer to generate the operation information by the wrapper function,
The third subprogram is a program that causes the computer to execute a process according to the list based on the operation information .
前記第1のサブプログラムと前記第2のサブプログラムとがそれぞれ別個のファイルとして構成される
請求項1に記載のプログラム。
The program according to claim 1, wherein the first subprogram and the second subprogram are configured as separate files.
前記第1のサブプログラムが、第1の言語で記述されており、
前記第2のサブプログラムが、前記第1の言語と異なる第2の言語で記述されている
請求項1または請求項2に記載のプログラム。
The first subprogram is written in a first language,
The program according to claim 1, wherein the second subprogram is described in a second language different from the first language.
請求項1から請求項3の何れか1項に記載のプログラムを記憶する記憶装置と、
前記記憶装置が記憶する前記プログラムを実行するCPUと
を備えるコンピュータ。
A storage device for storing the program according to any one of claims 1 to 3,
And a CPU that executes the program stored in the storage device .
JP2016000134A 2016-01-04 2016-01-04 Programs and computers Active JP6639238B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016000134A JP6639238B2 (en) 2016-01-04 2016-01-04 Programs and computers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016000134A JP6639238B2 (en) 2016-01-04 2016-01-04 Programs and computers

Publications (2)

Publication Number Publication Date
JP2017122949A JP2017122949A (en) 2017-07-13
JP6639238B2 true JP6639238B2 (en) 2020-02-05

Family

ID=59305909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016000134A Active JP6639238B2 (en) 2016-01-04 2016-01-04 Programs and computers

Country Status (1)

Country Link
JP (1) JP6639238B2 (en)

Also Published As

Publication number Publication date
JP2017122949A (en) 2017-07-13

Similar Documents

Publication Publication Date Title
KR102108583B1 (en) Instantiable gesture objects
JP5602597B2 (en) Method, computer program, and system for memory optimization of virtual machine code by segmenting foreign information
US10747510B1 (en) Application runtime modification
KR20130086138A (en) Cross-platform application framework
CN106462434A (en) Incremental compilation of the entire program code
CN103885814A (en) Simulator device and method for operating ARM APKs on x86 framework
US20140223414A1 (en) Paige control for enterprise mobile applications
KR20170057264A (en) Code development tool with multi-context intelligent assistance
WO2020158347A1 (en) Information processing device, method, and program
WO2022179493A1 (en) Exception handling method and relevant apparatus
US10705858B2 (en) Automatic import of third party analytics
CN106547486A (en) A data migration method and device
CN106484779B (en) File operation method and device
US8769498B2 (en) Warning of register and storage area assignment errors
JP2012053679A (en) Optimization device, optimization method and compiler program
CN112882698A (en) Development environment generation method and device, computer storage medium and electronic device
US10310871B2 (en) Non-transitory computer-readable recording medium storing control program, control device and control method
US10579373B2 (en) Seamless extension porting
WO2020057265A1 (en) Method and system for chat function development, terminal and computer readable storage medium
JP6639238B2 (en) Programs and computers
JP5702265B2 (en) Program automatic generation apparatus and program automatic generation method
JP6691294B2 (en) Information processing apparatus, dynamic link program, and program restart method
CN114691181B (en) Hot upgrade method, device, equipment, distributed system and storage medium
JP5464673B2 (en) Compilation support device, compilation support method, and program
KR102076552B1 (en) Apparatus for registering and performing macro, macro registration method

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20160104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191224

R150 Certificate of patent or registration of utility model

Ref document number: 6639238

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250