JP6639238B2 - Programs and computers - Google Patents
Programs and computers Download PDFInfo
- 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
Links
- 230000006870 function Effects 0.000 claims description 31
- 238000000034 method Methods 0.000 claims description 8
- 238000011161 development Methods 0.000 description 31
- 238000012545 processing Methods 0.000 description 22
- 238000013461 design Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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.
しかしながら、特許文献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.
以下、図面を参照しながら実施形態について詳しく説明する。
図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
開発装置100は、アプリケーションソフトウェアを生成する装置である。開発装置100は、設計部101、アプリDB102、ベースプログラム記憶部103、実行部104、通信部105を備える。
The
設計部101は、利用者によるアプリケーションソフトウェアの設計情報の入力を受け付ける。設計情報は、アプリケーションソフトウェアの実行画面に表示させるパーツの表示態様を示すパーツ情報およびパーツに対するアクションに応じた処理の内容を示す処理情報を含む。パーツの表示態様の例としては、パーツの種別(ボタン、テキストボックス、ラベルなど)、パーツの大きさ、パーツの位置、およびパーツに対する操作があった場合の遷移先のページが挙げられる。処理情報は、予め定められた複数のコマンド(ルーチン)の中から、任意のものを組み合わせたものである。
The
アプリDB102は、設計部101によって設計されたアプリケーションソフトウェアを記憶する。アプリケーションソフトウェアの実体は、バイナリ形式に変換されたパーツ情報のリストおよび処理情報のリストによって構成される。
The application DB 102 stores application software designed by the
ベースプログラム記憶部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
実行部104は、ベースプログラム記憶部103が記憶するベースプログラムを起動し、アプリケーションソフトウェアを実行する。具体的には、実行部104は、解釈プログラムP3の実行により、アプリDB102からアプリケーションソフトウェアを読み出し、処理情報のリストに記載されているコマンドが示す関数を特定する。また実行部104は、解釈プログラムP3の実行により特定した関数をロジックライブラリP2から呼び出す。また実行部104は、ロジックライブラリP2に含まれる関数の実行により、第1のシステムコールライブラリP1aに含まれるラッパ関数を呼び出す。そして実行部104は、ラッパ関数の呼び出しにより、システムコールを呼び出す。
通信部105は、アプリDB102に記録されたアプリケーションソフトウェアを端末装置200に送信する。
The
The
端末装置200は、開発装置100によって開発されたアプリケーションソフトウェアを実行する装置である。端末装置200は、通信部201、アプリDB202、ベースプログラム記憶部203、実行部204を備える。
The
通信部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
The
The base
The logic library P2 and the interpretation program P3 stored in the base
The
なお、第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
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
開発者が開発装置100に何かしらの操作を行うと、実行部104は、第1のシステムコールライブラリP1aのイベントハンドラに相当するラッパー関数に従って、開発者の操作を検知し、オペレーティングシステムで共通のシグネチャにより操作情報を生成する(ステップS4)。例えば、操作情報には、操作の種別および操作のあった座標が含まれる。次に、実行部104は、解釈プログラムP3に従って、操作情報を読み取り、操作されたパーツを特定する(ステップS5)。具体的には、実行部104は、アプリケーションソフトウェアを構成するパーツ情報のリストから、シグネチャが示す座標に存在するパーツを示すパーツ情報を特定する。次に、実行部104は、解釈プログラムP3に従って、特定したパーツ情報に関連付けられた処理を示す処理情報を特定する(ステップS6)。具体的には、実行部104は、アプリケーションソフトウェアを構成する処理情報のリストから、特定したパーツに関連付けられた処理情報を特定する。
When the developer performs any operation on the
次に、実行部104は、読み出した処理情報に含まれるコマンドを記載順に選択し、すべてのコマンドについて、以下のステップS8からステップS10の処理を実行する(ステップS7)。
まず実行部104は、解釈プログラムP3に従って、ロジックライブラリP2から選択されたコマンドに対応する関数を呼び出す(ステップS8)。実行部104は、呼び出されたロジックライブラリP2の関数に従って、第1のシステムコールライブラリP1aのラッパー関数を呼び出す(ステップS9)。実行部104は、呼び出された第1のシステムコールライブラリP1aの関数に従ってシステムコールを呼び出す(ステップS10)。
実行部104は、処理情報に含まれるすべてのコマンドについてステップS8からステップS10の処理を実行すると、ステップS4にもどり、開発者の操作を待機する。
Next, the
First, the
After executing the processing from step S8 to step S10 for all commands included in the processing information, the
このように、本実施形態によれば、開発装置100および端末装置200は、オペレーティングシステムごとに異なるシステムコールライブラリP1、ならびにオペレーティングシステムによらず共通のロジックライブラリP2および解釈プログラムP3を有するプログラムを実行する。これにより、開発装置100および複数の端末装置200は、アプリケーションソフトウェアの実行により、実装するオペレーティングシステムによらず同一の挙動をとることとなる。
As described above, according to the present embodiment, the
また、本実施形態によれば、アプリケーションソフトウェアの実行によりなされる処理は、ロジックライブラリ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
また、本実施形態によれば、開発装置100および端末装置200は、システムコールライブラリP1とロジックライブラリP2とを別個のファイルとして記憶する。これにより、開発者は、端末装置200のオペレーティングシステムの更新が生じた場合に、システムコールライブラリP1のみを改修することで、ロジックライブラリP2を改修することなく、新たなオペレーティングシステムにおけるアプリケーションプログラムの実行環境を生成することができる。
Further, according to the present embodiment, the
また、本実施形態によれば、システムコールライブラリ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
また、本実施形態によれば、開発装置100が設計部101に加え、実行部104およびベースプログラム記憶部103を備える。つまり、開発装置100は、端末装置200と同一のアプリケーションソフトウェア実行環境を備える。これにより、開発者は、実機と同じ環境で、アプリケーションソフトウェアのテストをすることができる。
Further, according to the present embodiment, the
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
例えば、上述した実施形態に係る開発装置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
また、上述した実施形態に係る複数の端末装置200は、いずれも第2のオペレーションシステムを実装するが、これに限られない。例えば、他の実施形態に係る端末装置200は、それぞれ異なるオペレーションシステムを実装するものであってもよい。
In addition, each of the plurality of
また、上述した実施形態に係る複数の端末装置200は、開発装置100と異なるオペレーションシステムを実装するが、これに限られない。例えば、他の実施形態においては、一部の端末装置200が、開発装置100と同一のオペレーションシステムを実装するものであってもよい。
In addition, the plurality of
また、上述した実施形態によれば、システムコールライブラリ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
図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
The
なお、少なくとも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
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置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
1 開発システム
100 開発装置
103 ベースプログラム記憶部
200 端末装置
203 ベースプログラム記憶部
P1a 第1のシステムコールライブラリ
P1b 第2のシステムコールライブラリ
P2 ロジックライブラリ
P3 メインプログラム
1
Claims (4)
前記システムコールを呼び出しを含まず、かつ前記第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に記載のプログラム。 The program according to claim 1, wherein the first subprogram and the second subprogram are configured as separate files.
前記第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.
前記記憶装置が記憶する前記プログラムを実行する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 .
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) |
-
2016
- 2016-01-04 JP JP2016000134A patent/JP6639238B2/en active Active
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 |