JP5109808B2 - Additional executable information generating apparatus, information processing apparatus, and program - Google Patents

Additional executable information generating apparatus, information processing apparatus, and program Download PDF

Info

Publication number
JP5109808B2
JP5109808B2 JP2008138109A JP2008138109A JP5109808B2 JP 5109808 B2 JP5109808 B2 JP 5109808B2 JP 2008138109 A JP2008138109 A JP 2008138109A JP 2008138109 A JP2008138109 A JP 2008138109A JP 5109808 B2 JP5109808 B2 JP 5109808B2
Authority
JP
Japan
Prior art keywords
information
call
instruction
module
additional executable
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.)
Expired - Fee Related
Application number
JP2008138109A
Other languages
Japanese (ja)
Other versions
JP2009288858A (en
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2008138109A priority Critical patent/JP5109808B2/en
Publication of JP2009288858A publication Critical patent/JP2009288858A/en
Application granted granted Critical
Publication of JP5109808B2 publication Critical patent/JP5109808B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Description

本発明は、追加実行可能情報生成装置、情報処理装置、及びプログラムに関する。   The present invention relates to an additional executable information generating device, an information processing device, and a program.

ソフトウェアを細分化してモジュールを設定して、モジュール間にまたがってシンボル参照する関係を抽出する。そしてモジュール間参照関係にある被参照モジュールにおいて、他モジュールからシンボル参照される受け入れ参照アドレスを定めたテーブルを定め、かつ受け入れ参照アドレスと自モジュール内のシンボル参照先の実アドレスとを結びつけるベクターテーブル作成部と、他モジュールからの被参照アドレスをベクタテーブルの受け入れ参照アドレスに書き換えるベクタテーブル・シンボル情報作成部とを備えた組み込みソフトウェア開発装置が特許文献1に開示されている。
特開2004−192604号公報
The software is subdivided to set modules, and the relationship of symbol reference across the modules is extracted. Then, in a referenced module that has a reference relationship between modules, create a table that defines the acceptance reference address for symbol reference from other modules, and link the acceptance reference address to the actual address of the symbol reference destination in its own module Patent Document 1 discloses an embedded software development device that includes a section and a vector table / symbol information creating section that rewrites a referenced address from another module to an accepted reference address of a vector table.
JP 2004-192604 A

モジュール内のシンボル参照にかかる負荷を軽減するべく、組み込みソフトウェアではシンボル参照を固定されたアドレス情報で行うもの(絶対アドレスオブジェクトコード)が一般的である。しかし、絶対アドレスオブジェクトコードとする場合、その一部のモジュールに修正を行う場合にも、すべてのモジュールを再度リンクし、当該リンク後のオブジェクトコード全体を記憶媒体に格納してテストを行うなどの必要がある。   In order to reduce the load on symbol reference in a module, embedded software generally performs symbol reference with fixed address information (absolute address object code). However, when making absolute address object code, even when some of the modules are modified, all modules are linked again, and the entire object code after linking is stored in a storage medium for testing. There is a need.

請求項1記載の発明は、追加実行可能情報生成装置であって、記憶媒体に固定されたコンピュータ実行可能な実行情報に含まれる呼び出し対象の識別情報と、その前記記憶媒体内での格納位置とを関連づけて記憶する記憶手段と、前記実行情報に含まれる呼び出し対象を呼び出す処理命令を含む追加実行可能情報を生成する生成手段と、前記実行情報の実行前にコンピュータにより実行される事前実行情報であって、前記実行情報によって呼び出される呼び出し対象に対応する呼び出し対象が、前記追加実行可能情報に含まれる場合に、前記実行情報を書き換えて、前記追加実行可能情報に含まれる、対応する呼び出し対象を呼び出すよう設定させる事前実行情報を生成する事前実行情報生成手段と、を有し、前記生成手段が、前記記憶手段に記憶された情報を参照し、前記生成する追加実行可能情報に、前記実行情報内の呼び出し対象を呼び出す処理命令があるときに、当該処理命令で呼び出される呼び出し対象を呼び出す呼び出し命令要素を生成し、前記処理命令を、対応する前記呼び出し命令要素の格納位置を呼び出す命令に書き換えて、前記呼び出し命令要素とともに出力することとしたものである。
The invention according to claim 1 is an additional executable information generating device, the identification information of the call target included in the computer-executable execution information fixed to the storage medium, and the storage position in the storage medium Storage means for associating and storing, generation means for generating additional executable information including a processing instruction for calling a call target included in the execution information, and pre-execution information executed by a computer before execution of the execution information When the call target corresponding to the call target called by the execution information is included in the additional executable information, the execution information is rewritten, and the corresponding call target included in the additional executable information is changed. Pre-execution information generation means for generating pre-execution information to be set to be called, wherein the generation means is the storage means Referring to the stored information, and when the additional executable information to be generated includes a processing instruction for calling the calling target in the execution information, a call instruction element for calling the calling target called by the processing instruction is generated, The processing instruction is rewritten to an instruction for calling a storage position of the corresponding call instruction element, and is output together with the call instruction element .

請求項2記載の発明は、プログラムであって、コンピュータを、記憶媒体に固定されたコンピュータ実行可能な実行情報に含まれる呼び出し対象の識別情報と、その前記記憶媒体内での格納位置とを関連づけて記憶する記憶手段と、前記実行情報に含まれる呼び出し対象を呼び出す処理命令を含む追加実行可能情報を生成する生成手段と、前記実行情報の実行前にコンピュータにより実行される事前実行情報であって、前記実行情報によって呼び出される呼び出し対象に対応する呼び出し対象が、前記追加実行可能情報に含まれる場合に、前記実行情報を書き換えて、前記追加実行可能情報に含まれる、対応する呼び出し対象を呼び出すよう設定させる事前実行情報を生成する事前実行情報生成手段と、として機能させ、前記生成手段として機能させる際に、前記記憶手段に記憶された情報を参照し、前記生成する追加実行可能情報に、前記実行情報内の呼び出し対象を呼び出す処理命令があるときに、当該処理命令で呼び出される呼び出し対象を呼び出す呼び出し命令要素を生成し、前記処理命令を、対応する前記呼び出し命令要素の格納位置を呼び出す命令に書き換えて、前記呼び出し命令要素とともに出力させることとしたものである。
The invention described in claim 2 is a program that associates a computer with identification information of a call target included in computer-executable execution information fixed to a storage medium, and a storage position in the storage medium. Storage means for storing information, generating means for generating additional executable information including a processing instruction for calling a call target included in the execution information, and pre-execution information executed by a computer before the execution information is executed. When the call target corresponding to the call target called by the execution information is included in the additional executable information, the execution information is rewritten to call the corresponding call target included in the additional executable information Function as pre-execution information generating means for generating pre-execution information to be set, and as the generating means When the processing instruction for calling the call target in the execution information is included in the generated additional executable information with reference to the information stored in the storage means. A call instruction element for calling is generated, and the processing instruction is rewritten to an instruction for calling a storage position of the corresponding call instruction element, and is output together with the call instruction element.

請求項1,5記載の発明によると、実行情報の一部のモジュールに修正を行う場合にも、当該修正したモジュールから既に記憶媒体に格納された実行情報の他のモジュール内の呼び出し対象へのアドレスが設定され、すべてのモジュールを再度リンクする必要がなく、当該リンク後のオブジェクトコード全体を記憶媒体に格納しなおす必要もない。   According to the first and fifth aspects of the invention, even when a part of the module of the execution information is corrected, the execution module already stored in the storage medium from the corrected module is transferred to the call target in the other module. An address is set, and it is not necessary to link all modules again, and it is not necessary to store the entire object code after the link in the storage medium.

本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る追加実行可能情報生成装置1を図1に例示する。追加実行可能情報生成装置1は、図1に例示するように、制御部11と、記憶部12と、操作部13と、出力部14とを含んで構成される。この追加実行可能情報生成装置1は、また、ディスプレイ等の表示デバイスを含んでも構わない。   Embodiments of the present invention will be described with reference to the drawings. An additional executable information generating apparatus 1 according to an embodiment of the present invention is illustrated in FIG. As illustrated in FIG. 1, the additional executable information generation apparatus 1 includes a control unit 11, a storage unit 12, an operation unit 13, and an output unit 14. The additional executable information generating apparatus 1 may also include a display device such as a display.

制御部11は、CPU(Central Processing Unit)等のプログラム制御デバイスである。この制御部11は、記憶部12に格納されているプログラムに従って動作する。この制御部11は、プログラムのソースコードをコンパイルしてバイナリコードを生成し、またこのバイナリコードをリンクしてオブジェクトコードを生成して出力する。コンパイルの対象となるソースコードは、記憶部12に格納されており、利用者(プログラマ)は、必要に応じて、ソースコードを書き換える。   The control unit 11 is a program control device such as a CPU (Central Processing Unit). The control unit 11 operates according to a program stored in the storage unit 12. The control unit 11 compiles the source code of the program to generate a binary code, and links the binary code to generate and output an object code. The source code to be compiled is stored in the storage unit 12, and the user (programmer) rewrites the source code as necessary.

本実施の形態の追加実行可能情報生成装置1は、複数のモジュールに分けて開発されたソースコードを処理の対象とする。各モジュールのソースコードは個別に生成されるが、相互に内部の関数や変数等を呼び出す。呼び出しの際には、呼び出しの対象である関数や変数などの格納先アドレス(記憶媒体上の格納位置を表す情報)を用いる。すなわち呼び出しの対象が関数であれば、格納先アドレスから格納されている命令列を読みだして処理する。また呼び出しの対象が変数であれば、格納先アドレスに保持されたデータを読み出す。図2に一般的なソースコードのコンパイルからリンクまでの処理の過程を示す。   The additional executable information generating apparatus 1 according to the present embodiment uses a source code developed in a plurality of modules as a processing target. The source code of each module is generated individually, but calls internal functions and variables. When calling, a storage destination address (information indicating a storage position on a storage medium) such as a function or a variable to be called is used. That is, if the target of the call is a function, the instruction sequence stored from the storage destination address is read and processed. If the call target is a variable, the data held at the storage address is read. FIG. 2 shows a general process from source code compilation to linking.

ソースコード内には、例えば他のモジュールのソースコードに含まれる関数の呼び出し指令(C)が含まれる。追加実行可能情報生成装置1がこのソースコードをコンパイルすると、この指令により呼び出されるべき関数の識別情報(例えば関数名を含む情報)が生成される(D)。   In the source code, for example, a function call command (C) included in the source code of another module is included. When the additional executable information generating apparatus 1 compiles the source code, identification information (for example, information including the function name) of the function to be called by this instruction is generated (D).

さらに各コンパイル結果をリンクする指示が行われると、追加実行可能情報生成装置1は、呼び出されるべき関数の識別情報を参照し、他のモジュールのコンパイル結果に含まれる、当該識別情報で識別される関数の格納先アドレスを取得する。そして、当該取得した格納先アドレスを呼び出し指令に設定し(E)、処理を完了する。変数等についても同様に処理が行われる。   Further, when an instruction to link each compilation result is given, the additional executable information generating device 1 refers to the identification information of the function to be called, and is identified by the identification information included in the compilation results of other modules. Get the storage address of the function. Then, the acquired storage destination address is set as a call command (E), and the process is completed. The same processing is performed for variables and the like.

本実施の形態の追加実行可能情報生成装置1は、事前にコンパイル及びリンクが行われ、記憶媒体に固定されているコンピュータ実行可能な実行情報の元となったソースコード(オリジナルコード)を利用して処理を行う。当該オリジナルコードの一部のモジュールのソースコードに改変が行われたときに、本実施の形態の追加実行可能情報生成装置1の制御部11は、コンパイル及びリンクの指示に従い、次のように処理する。   The additional executable information generating apparatus 1 of the present embodiment uses source code (original code) that is compiled and linked in advance and is the source of computer-executable execution information that is fixed to a storage medium. Process. When the source code of some modules of the original code is modified, the control unit 11 of the additional executable information generating apparatus 1 according to the present embodiment performs the following process according to the compile and link instructions To do.

すなわち制御部11は、改変されたソースコードをコンパイルする。そして制御部11は、リンクの処理として、呼び出されるべき他のモジュールの関数や変数(呼び出し対象)の識別情報がコンパイル結果に含まれている場合、既にリンクされ、格納先アドレスが決定されている、当該呼び出し対象の格納先アドレスの情報を取得する。制御部11は、当該格納先アドレスを含む追加実行可能情報を出力する。この制御部11の処理の内容については、後にさらに詳しく述べる。   That is, the control unit 11 compiles the modified source code. When the compile result includes the identification information of the function and variable (call target) of another module to be called as the link process, the control unit 11 is already linked and the storage destination address is determined. The information of the storage destination address of the call target is acquired. The control unit 11 outputs additional executable information including the storage destination address. The details of the processing of the control unit 11 will be described in detail later.

記憶部12は、RAM(Random Access Memory)などを含んで構成されている。この記憶部12には、制御部11によって実行されるプログラムが保持される。このプログラムは、コンピュータ可読な記録媒体に格納されて提供され、この記憶部12に複写されたものであってもよい。また本実施の形態では、この記憶部12に既に格納されている実行可能情報に含まれる、呼び出し対象の識別情報と、格納先アドレスとを関連づけたテーブル(マップ情報)が保持される(図3)。このテーブルは、制御部11等が実行可能情報とともに生成し、記憶部12に格納したものであってもよい。さらに記憶部12は、制御部11のワークメモリとしても動作する。   The storage unit 12 includes a RAM (Random Access Memory) and the like. The storage unit 12 holds a program executed by the control unit 11. This program may be provided by being stored in a computer-readable recording medium and copied to the storage unit 12. Further, in the present embodiment, a table (map information) that associates the identification information to be called and the storage destination address included in the executable information already stored in the storage unit 12 is retained (FIG. 3). ). This table may be generated together with executable information by the control unit 11 or the like and stored in the storage unit 12. Furthermore, the storage unit 12 also operates as a work memory for the control unit 11.

操作部13は、マウスやキーボードなどを含む。この操作部13は、利用者の操作の内容を制御部11に出力する。利用者はこの操作部13を操作して、ソースコードの修正や、コンパイル/リンクの指示などを行う。   The operation unit 13 includes a mouse, a keyboard, and the like. The operation unit 13 outputs the content of the user's operation to the control unit 11. The user operates the operation unit 13 to perform source code correction, compile / link instructions, and the like.

出力部14は、ディスプレイやネットワークインタフェース等であり、制御部11から入力される指示に従って情報を出力する。また本実施の形態の出力部14は、制御部11から入力される指示に従い、記憶媒体に対して、実行可能情報や追加実行可能情報を記録するデバイスを含む。   The output unit 14 is a display, a network interface, or the like, and outputs information according to an instruction input from the control unit 11. The output unit 14 of the present embodiment includes a device that records executable information and additional executable information on a storage medium in accordance with an instruction input from the control unit 11.

情報処理装置2は、図4に例示するように、記憶媒体読み取り部21と、制御部22と、記憶部23と、インタフェース部24と、機能部25とを含んで構成される。ここに記憶媒体読み取り部21は、制御部22からの指示に従ってフラッシュROM(Read Only Memory)等の記憶媒体に格納された実行可能情報や、追加実行可能情報を読み出す。   As illustrated in FIG. 4, the information processing apparatus 2 includes a storage medium reading unit 21, a control unit 22, a storage unit 23, an interface unit 24, and a function unit 25. Here, the storage medium reading unit 21 reads executable information and additional executable information stored in a storage medium such as a flash ROM (Read Only Memory) in accordance with an instruction from the control unit 22.

制御部22は、記憶媒体に格納されている実行可能情報や追加実行可能情報を記憶部23に複写させる。そして当該記憶部23に格納した実行可能情報や追加実行可能情報に従って処理を遂行する。なお、この制御部22は、記憶媒体に格納されている実行可能情報の複写に先立って、事前実行情報(パッチ)として指定されたプログラムに従って前処理を実行してもよい。   The control unit 22 causes the storage unit 23 to copy executable information and additional executable information stored in the storage medium. Then, processing is performed according to the executable information and additional executable information stored in the storage unit 23. The control unit 22 may execute preprocessing according to a program designated as pre-execution information (patch) prior to copying executable information stored in the storage medium.

記憶部23は、RAMなどの記憶素子を含んで構成される。この記憶部23には、記憶媒体から読み出された実行可能情報や、追加実行可能情報が保持される。また、この記憶部23は、制御部22のワークメモリとしても動作する。   The storage unit 23 includes a storage element such as a RAM. The storage unit 23 holds executable information read from the storage medium and additional executable information. The storage unit 23 also operates as a work memory for the control unit 22.

インタフェース部24は、制御部22から入力される指示に従って、機能部25に対して指示を出力する。また、このインタフェース部24は、機能部25から入力される情報を制御部22に出力する。例えば機能部25は、プリンタエンジンなどであり、制御部22は機能部25に対し、このインタフェース部24を介して画像形成の制御の指示を出力する。   The interface unit 24 outputs an instruction to the function unit 25 in accordance with the instruction input from the control unit 22. The interface unit 24 outputs information input from the function unit 25 to the control unit 22. For example, the function unit 25 is a printer engine or the like, and the control unit 22 outputs an instruction for image formation control to the function unit 25 via the interface unit 24.

次に、本実施の形態の制御部11の動作について述べる。ここでは制御部11が、記憶媒体に格納する実行可能情報を生成する処理を行うものとする。制御部11は、実行可能情報を生成するにあたり、実行可能情報に含めるべきモジュールのソースコードをそれぞれコンパイルし、各コンパイル結果をリンクして、実行可能情報を生成する。既に述べたように、この実行可能情報においては、モジュール間で呼び出し対象となる関数や変数について、その格納先アドレスが明示(ハードコード)されている。例えば図5に示すように、第1モジュールAと、第2モジュールBとを含む実行可能情報を用い、第1モジュールAに含まれる関数 funcA1( ) において、第2モジュールBに含まれる関数 funcB1( ) を呼び出しているものとして説明すると、次のようになる。   Next, operation | movement of the control part 11 of this Embodiment is described. Here, the control part 11 shall perform the process which produces | generates the executable information stored in a storage medium. When generating the executable information, the control unit 11 compiles the source codes of the modules to be included in the executable information, and links the compilation results to generate executable information. As already described, in this executable information, the storage destination address of a function or variable to be called between modules is specified (hard-coded). For example, as shown in FIG. 5, using the executable information including the first module A and the second module B, the function funcA1 () included in the first module A uses the function funcB1 ( ) Is called as follows:

ソースコードの段階では、funcA1( ) 内には、funcB1( ) がその識別情報(例えば funcB1( ) の名称そのもの)を用いて呼び出しの指示が記述されている。制御部11がこれをコンパイルした後、リンク及び記憶媒体への書き込む段階で、関数 funcB1( ) の実行可能情報部分の格納先アドレス addrB1 を取得する。そして制御部11は、funcA1( ) 内での funcB1( ) の呼び出しを、その格納アドレス addrB1 の呼び出しに書き換える。   At the source code stage, in the funcA1 (), funcB1 () describes a call instruction using its identification information (for example, the name of funcB1 () itself). After the controller 11 compiles it, the storage destination address addrB1 of the executable information part of the function funcB1 () is acquired at the stage of linking and writing to the storage medium. Then, the control unit 11 rewrites the call of funcB1 () in funcA1 () to the call of the storage address addrB1.

また本実施の形態では、各モジュールでの呼び出し対象の識別情報(シンボル名)と、その格納先アドレスとを関連づけて記憶部12に格納する。上述の例においては、呼び出し対象である関数 funcB1( ) の識別情報と、その格納先アドレス addrB1 とを関連づけて、図3に例示したようなマップ情報として記憶部12に格納する。   In this embodiment, identification information (symbol name) to be called in each module is stored in the storage unit 12 in association with its storage destination address. In the above example, the identification information of the function funcB1 () to be called is associated with the storage destination address addrB1 and stored in the storage unit 12 as map information illustrated in FIG.

次に、追加実行可能情報を生成する際の制御部11の動作について説明する。制御部11は、利用者が一部のモジュールのソースコードを書き換えて、コンパイル/リンクの指示を行うと、次の図6に例示する処理を実行する。   Next, the operation of the control unit 11 when generating additional executable information will be described. When the user rewrites the source code of some modules and issues a compile / link instruction, the control unit 11 executes the process illustrated in FIG.

すなわち制御部11は、書き換えられたモジュールのソースコードをコンパイルする(S1)。以下の説明では利用者によってソースコードが書き換えられたモジュールを追加対象モジュールと呼び、ソースコードが書き換えられていないモジュール(そのままとするモジュール)を、既存モジュールと呼ぶ。   That is, the control unit 11 compiles the rewritten module source code (S1). In the following description, a module whose source code has been rewritten by the user is referred to as an addition target module, and a module whose source code has not been rewritten (a module that remains unchanged) is referred to as an existing module.

制御部11は、追加対象モジュールから呼び出される呼び出し対象を検索する(S2)。そして制御部11は、記憶部12に保持されているマップ情報を参照して、検索の結果見いだされた各呼び出し対象の識別情報に関連づけられた各格納先アドレスを取得する(S3)。   The control unit 11 searches for a call target called from the addition target module (S2). Then, the control unit 11 refers to the map information held in the storage unit 12 and acquires each storage destination address associated with the identification information of each call target found as a result of the search (S3).

制御部11は、リンクの指示とともに、追加対象モジュールについてのコンパイル結果において、呼び出し対象の呼び出し指示を、処理S3で取得した、対応する格納先アドレスの呼び出し指示に書き換える(S4)。制御部11は、このようにして生成した追加実行可能情報を、書き換え前のモジュールに基づく実行可能情報が記録されている記憶媒体に追記して格納する(S5)。また制御部11は、各追加対象モジュールでの呼び出し対象の識別情報(シンボル名)と、その格納先アドレス(コンパイル結果におけるデータ先頭からの相対的なアドレス、すなわちオフセット値でよい)とを関連づけて、追加実行可能情報に含めて記憶部12に格納しておく。   In addition to the link instruction, the control unit 11 rewrites the call target call instruction to the corresponding storage destination address call instruction acquired in step S3 in the compilation result of the addition target module (S4). The control unit 11 adds the additional executable information generated in this way to the storage medium storing the executable information based on the module before rewriting (S5). The control unit 11 associates the identification information (symbol name) of the call target in each module to be added and the storage destination address (which may be a relative address from the top of the data in the compilation result, that is, an offset value). The additional executable information is stored in the storage unit 12.

このとき記憶媒体には、図7(a)に例示するように、書き換え前の実行可能情報(EX)と追加実行可能情報(AEX)とが格納され、追加実行可能情報内から実行可能情報に含まれる関数や、実行可能情報で用いられる変数等が、マップ情報に基づくアドレス情報に従って呼び出されることになる。   At this time, as illustrated in FIG. 7A, executable information (EX) before rewriting and additional executable information (AEX) are stored in the storage medium, and the executable information is added to the executable information from the additional executable information. Functions included, variables used in executable information, and the like are called according to address information based on map information.

さらに本実施の形態では、記憶部23に複写された実行可能情報において、書き換え前のモジュール内の関数や変数等を呼び出す指令が含まれているときに、当該指令を書き換えて、書き換え後のモジュール内の関数や変数を呼び出すようにしてもよい。   Further, in the present embodiment, when the executable information copied to the storage unit 23 includes a command for calling a function, variable, or the like in the module before rewriting, the command is rewritten, and the module after rewriting is performed. You may make it call the function and variable in.

このために制御部11は、追加対象モジュールをコンパイル/リンクするときに、図8に示すように、追加対象モジュールにおいて定義されている呼び出し対象(関数や変数等)に対応する、書き換え前のモジュールの呼び出し対象の格納先アドレスをマップ情報から取得する(S11)。   Therefore, when compiling / linking the addition target module, the control unit 11 corresponds to the call target (function, variable, etc.) defined in the addition target module as shown in FIG. The storage destination address to be called is acquired from the map information (S11).

また制御部11は、書き換え後の呼び出し対象の格納アドレスを取得するべき旨の指示を書き出し(S12)、さらに書き換え前のモジュールでの呼び出し対象の格納先アドレスを、書き換え後の呼び出し対象の格納アドレスへ書き換える指示を含めて事前実行情報を生成する(S13)。そして制御部11は、この事前実行情報を追加実行可能情報とともに記憶媒体に書き込む(S14)。   Further, the control unit 11 writes an instruction to acquire the storage address of the call target after rewriting (S12), and further stores the storage destination address of the call target in the module before rewriting as the storage address of the call target after rewriting. The pre-execution information is generated including the instruction to rewrite to (S13). And the control part 11 writes this prior execution information in a storage medium with additional executable information (S14).

既に説明したように、情報処理装置2の制御部22は、事前実行情報として指定されたプログラムがあれば、記憶媒体に格納された実行可能情報や追加実行可能情報を記憶部23に複写してから、当該事前実行情報を実行する。これにより制御部22は、書き換えられていないモジュールに対応する実行可能情報内で、追加実行可能情報に含まれる呼び出し対象を呼び出すべき部分について、追加実行可能情報に含まれる呼び出し対象の格納先アドレスを設定する。従って記憶媒体に格納された実行可能情報から追加実行可能情報に定義された関数や変数などの呼び出し対象が呼び出されるようになる(図7(b))。   As described above, if there is a program designated as the pre-execution information, the control unit 22 of the information processing apparatus 2 copies the executable information and additional executable information stored in the storage medium to the storage unit 23. The pre-execution information is executed. As a result, the control unit 22 sets the storage destination address of the call target included in the additional executable information for the portion that should call the call target included in the additional executable information in the executable information corresponding to the module that has not been rewritten. Set. Therefore, a call target such as a function or a variable defined in the additional executable information is called from the executable information stored in the storage medium (FIG. 7B).

なお、この処理において、処理S11では、追加対象モジュールにおいて定義されている関数や変数のすべてについて、格納先アドレスを変更する処理命令を事前実行情報に含める必要はない。すなわち、記憶媒体に格納された実行可能情報、またはその元となったソースコードなどを参照して、追加対象モジュールにおいて定義されている関数や変数等のうち、実際に呼び出されている呼び出し対象についてのみ、格納先アドレスを変更する処理命令を事前実行情報に含めてもよい。   In this process, in the process S11, it is not necessary to include, in the pre-execution information, a processing instruction for changing the storage destination address for all the functions and variables defined in the addition target module. In other words, referring to the executable information stored in the storage medium or the source code that is the source, the call target that is actually called among the functions and variables defined in the addition target module Only the processing instruction for changing the storage destination address may be included in the pre-execution information.

また、追加対象モジュールのソースコード等において、外部のモジュールなどから呼び出されるインタフェースとして規定された呼び出し対象が見いだされる場合は、追加対象モジュールにおいて定義されている関数や変数等のうち、当該呼び出されるインタフェースとして規定された呼び出し対象についてのみ、格納先アドレスを変更する処理命令を事前実行情報に含めてもよい。ここでインタフェースとしての規定された呼び出し対象とは、例えばC言語であればextern宣言が行われている変数や関数であるとしてもよいし、C++言語であればpublicの指定が行われているクラスメソッドやインスタンスであってもよい。さらに、書き換えられたモジュールにおいて定義されるグローバル変数があれば、当該グローバル変数も、その格納先アドレスを書き換え前のモジュールにおける格納先アドレスから、書き換え後のモジュールにおける格納先アドレスへ変更してもよい。   In addition, when a call target defined as an interface to be called from an external module or the like is found in the source code of the addition target module, the interface to be called among the functions and variables defined in the addition target module A processing instruction for changing the storage destination address may be included in the pre-execution information only for the call target defined as Here, the specified call target as an interface may be, for example, a variable or function for which an extern declaration is made in the C language, or a class for which public is designated in the C ++ language. It may be a method or instance. Further, if there is a global variable defined in the rewritten module, the global variable may also be changed from the storage destination address in the module before rewriting to the storage destination address in the module after rewriting. .

本実施の形態の追加実行可能情報生成装置1及び情報処理装置2は、上述の構成を備えるので、次のように動作する。   Since the additional executable information generation device 1 and the information processing device 2 of the present embodiment have the above-described configuration, they operate as follows.

以下では、説明のために、図9に例示するように、モジュールA,Bの2つのモジュールを含む実行可能情報を生成するものとする。ここでモジュールAには、関数 funcA1( ) と、funcA2( ) とが少なくとも定義されている。また、関数 funcA1( ) 内では、モジュールBの関数 funcB1( ) を呼び出し対象として呼び出す命令(図では、call funcB1( )と記載している)が含まれる。   In the following, for the sake of explanation, it is assumed that executable information including two modules A and B is generated as illustrated in FIG. Here, at least a function funcA1 () and funcA2 () are defined in the module A. The function funcA1 () includes an instruction (indicated as call funcB1 () in the figure) that calls the function B of the module B as a call target.

また、モジュールBには、関数 funcB1( ) と、funcB2( ) とが少なくとも定義されている。また、関数 funcB2( ) 内では、モジュールAの関数 funcA2( ) を呼び出し対象として呼び出す命令(図では、call funcA2( )と記載している)が含まれる。   Module B defines at least functions funcB1 () and funcB2 (). The function funcB2 () includes an instruction for calling the function funcA2 () of the module A as a call target (denoted as call funcA2 () in the figure).

これらのモジュールについてコンパイル及びリンクの指示が行われると、追加実行可能情報生成装置1は、各呼び出し対象の格納先アドレスが規定された実行可能情報を生成する(S21)とともに、呼び出し対象を識別する情報(シンボル)と、その格納先アドレスとを関連づけたマップ情報を生成する(S22)。   When compiling and linking instructions are given for these modules, the additional executable information generating device 1 generates executable information in which the storage destination address of each calling target is defined (S21), and identifies the calling target. Map information in which the information (symbol) is associated with the storage destination address is generated (S22).

ここで実行可能情報は、記憶媒体に格納されて情報処理装置2での実行処理に供される。この実行可能情報では、モジュールA内の関数 funcA1( ) に相当する処理命令列において、モジュールBの関数 funcB1( ) を呼び出す命令が含まれているが、当該命令はその呼び出し対象である関数 funcB1( ) に相当する処理命令列の格納先アドレス(addrB1)を呼び出す命令に設定されている。また、モジュールB内の関数 funcB2( ) に相当する処理命令列において、モジュールAの関数 funcA2( ) を呼び出す命令が含まれているが、当該命令はその呼び出し対象である関数 funcA2( ) に相当する処理命令列の格納先アドレス(addrA2)を呼び出す命令に設定されている。   Here, the executable information is stored in a storage medium and used for execution processing in the information processing apparatus 2. In this executable information, in the processing instruction sequence corresponding to the function funcA1 () in the module A, an instruction for calling the function funcB1 () of the module B is included, but the instruction is the function funcB1 ( ) Is set to an instruction that calls the storage destination address (addrB1) of the processing instruction sequence. Further, the processing instruction sequence corresponding to the function funcB2 () in the module B includes an instruction for calling the function funcA2 () of the module A. The instruction corresponds to the function funcA2 () that is the call target. It is set to an instruction that calls the storage address (addrA2) of the processing instruction sequence.

従って情報処理装置2では、例えば関数 funcA1( ) に相当する処理命令列を処理しているときに、モジュールB内の関数 funcB1( ) を呼び出す指示として、格納先アドレス addrB1 を呼び出すべき命令に出会うと、addrB1 以下に格納されている命令列の処理を行うこととなる。   Therefore, in the information processing apparatus 2, for example, when a processing instruction sequence corresponding to the function funcA1 () is processed, an instruction to call the storage destination address addrB1 is encountered as an instruction to call the function funcB1 () in the module B. , The instruction sequence stored under addrB1 is processed.

一方、利用者が、モジュールAを書き換えてモジュールA′を生成する。このモジュールA′では、書き換え前のモジュールAに含まれる呼び出し対象と同じ呼び出し対象が含まれるものとする。利用者の指示により、追加実行可能情報生成装置1がこのモジュールA′のコンパイル/リンクを行う。このとき、追加実行可能情報生成装置1は、マップ情報を参照して、モジュールA内の関数 funcA1( ) に相当する処理命令列において、モジュールBの関数 funcB1( ) を呼び出す命令を、その格納先アドレスを呼び出す命令(シンボル funcB1 に関連づけられたアドレス addrB1 を呼び出す命令)に置き換える(S23)。   On the other hand, the user rewrites module A to generate module A ′. This module A ′ is assumed to include the same call target as the call target included in the module A before rewriting. The additional executable information generating apparatus 1 compiles / links the module A ′ in accordance with a user instruction. At this time, the additional executable information generating apparatus 1 refers to the map information, and in the processing instruction sequence corresponding to the function funcA1 () in the module A, stores the instruction for calling the function funcB1 () of the module B. It is replaced with an instruction for calling an address (an instruction for calling an address addrB1 associated with the symbol funcB1) (S23).

このようにして生成された書き換え後のモジュールA′のコンパイル/リンクの結果は、追加実行可能情報として記録される。そしてその格納先アドレスは、例えば関数 funcA1( ) が、addrA1'に、関数 funcA2( ) が addrA2' に…というように、書き換え前のモジュールAにおいて対応する関数の格納先アドレスとは異なっている。なお、これらの格納先アドレスは、情報処理装置2において、追加実行可能情報が読み出されたときに決定される。   The result of compiling / linking the module A ′ after rewriting generated in this way is recorded as additional executable information. The storage destination address is different from the storage destination address of the corresponding function in the module A before rewriting, for example, the function funcA1 () is addedrA1 ′, the function funcA2 () is addrA2 ′, and so on. These storage destination addresses are determined when the additional executable information is read out in the information processing apparatus 2.

追加実行可能情報生成装置1は、そこで、書き換え後のモジュールA′における関数の格納先アドレスを取得し、書き換え前のモジュールAにおいて対応する関数の格納先アドレスを、書き換え後のモジュールA′において対応する関数の格納先アドレスへ書き換える指示命令列を事前実行情報として生成する(S24)。なお、これら追加実行可能情報と、事前実行情報とは、例えば元の実行可能情報と同じ記憶媒体に格納される。   Therefore, the additional executable information generating apparatus 1 obtains the function storage destination address in the module A ′ after rewriting, and the function storage destination address corresponding to the module A before rewriting corresponds to the module A ′ after rewriting. A command sequence to be rewritten to the storage destination address of the function to be generated is generated as pre-execution information (S24). The additional executable information and the pre-execution information are stored in the same storage medium as the original executable information, for example.

なお、この事前実行情報は、インデックスと、書き換え前のモジュールでの対応する呼び出し対象の格納先アドレス(旧アドレス)と、書き換え後のモジュールでの対応する呼び出し対象の格納先アドレス(新アドレス)とを関連づけるテーブルと、インデックスをキーとして、インデックスをインクリメントしつつ、キーとなっているインデックスに関連づけられた旧アドレスを新アドレスに書き換える処理を行うプログラムとを含むものであってもよい。   This pre-execution information includes an index, a corresponding storage target address (old address) in the module before rewriting, and a corresponding storage target address (new address) in the rewritten module. And a program that performs a process of rewriting the old address associated with the key index to the new address while incrementing the index using the index as a key.

情報処理装置2は、記憶媒体から実行可能情報と追加実行可能情報とを読み出して、ワークメモリへ記録する。すなわち情報処理装置2は、記憶媒体から、まず実行可能情報を読み出して、ワークメモリの予め定められたアドレス以降へ記録する。また、情報処理装置2は、追加実行可能情報を読み出して、ワークメモリの空き領域に記録する。このとき情報処理装置2は、ワークメモリに格納した追加実行情報に含まれる書き換え後のモジュール内の関数について、追加実行情報の記録開始アドレスを、追加実行情報に含まれている、各関数のオフセット(先頭アドレスからの相対アドレス)にそれぞれ加算して、各関数の実際の格納先アドレスを得る。   The information processing apparatus 2 reads the executable information and the additional executable information from the storage medium and records them in the work memory. That is, the information processing apparatus 2 first reads executable information from the storage medium, and records it after a predetermined address in the work memory. Further, the information processing apparatus 2 reads the additional executable information and records it in a free area of the work memory. At this time, the information processing device 2 sets the recording start address of the additional execution information for the function in the rewritten module included in the additional execution information stored in the work memory, and the offset of each function included in the additional execution information. Each is added to (relative address from the head address) to obtain the actual storage destination address of each function.

そして情報処理装置2は、書き換え後のモジュール内の各関数について、実際の格納先アドレスを記憶する。その後、情報処理装置2は、当該ワークメモリへ記録した実行可能情報や追加実行可能情報の処理を開始するが、当該実行に先立って事前実行情報の処理を行う。この処理において情報処理装置2は、先に記録した書き換え後のモジュールA′における各関数の格納先アドレスの情報を参照し、実行可能情報中、書き換えられていないモジュールBの関数 funcB2( ) に対応する処理命令列において、関数 funcA2( ) を呼び出す指示(元は、addrA2 を呼び出す指示)を、書き換え後のモジュールA′における関数funcA2( ) を呼び出す指示(例えば当該関数の格納先のアドレスであるaddrA2'を呼び出す指示)に書き換える(S25)。   The information processing apparatus 2 stores the actual storage destination address for each function in the module after rewriting. Thereafter, the information processing apparatus 2 starts processing the executable information and the additional executable information recorded in the work memory, but performs the pre-execution information processing prior to the execution. In this processing, the information processing apparatus 2 refers to the information of the storage destination address of each function in the rewritten module A ′ recorded earlier, and corresponds to the function funcB2 () of the module B that has not been rewritten in the executable information. In the processing instruction sequence to be executed, an instruction to call the function funcA2 () (originally an instruction to call addrA2) is used as an instruction to call the function funcA2 () in the rewritten module A ′ (for example, addrA2 which is an address of the storage destination of the function) (Instruction to call “)” (S25).

従って情報処理装置2では、モジュールA′に相当する処理においては、addrB1を呼び出すようになっていることで、実行可能情報に含まれる、書き換え前のモジュールBの関数 funcB1( ) に相当する処理命令列を実行することとなる。また、書き換え前のモジュールBからモジュールAに代えてモジュールA′内の関数funcA2( ) を、その格納先アドレス addrA2' を呼び出すことによって実行することとなる。   Therefore, in the information processing apparatus 2, in the process corresponding to the module A ′, addrB1 is called, so that the processing instruction corresponding to the function funcB1 () of the module B before rewriting included in the executable information. The column will be executed. Further, the function funcA2 () in the module A ′ is executed by calling the storage destination address addrA2 ′ instead of the module A from the module B before rewriting.

なおここでは、追加実行可能情報を生成する際に、マップ情報を参照して、コンパイル/リンクの結果において、直接、呼び出し対象の格納先アドレスを呼び出すよう、命令を記述しているが、本実施の形態はこれに限られない。   Here, when generating additional executable information, the instruction is described so that the storage destination address of the call target is directly called in the result of compilation / link with reference to the map information. The form of is not limited to this.

例えば、本実施の形態の追加実行可能情報生成装置1は、次のように動作してもよい。すなわち、追加実行可能情報生成装置1は、追加実行可能情報を生成する際に、他のモジュール内の呼び出し対象を呼び出す命令があると、その格納先アドレス(マップ情報から取得する)を呼び出す命令(例えば格納先アドレスへジャンプする命令)を記述した命令要素を生成する。これを各呼び出し命令について生成して、呼び出し命令要素群(ジャンプテーブル)を生成する。   For example, the additional executable information generating device 1 of the present embodiment may operate as follows. That is, when the additional executable information generating apparatus 1 generates additional executable information, if there is an instruction for calling the call target in another module, the additional executable information generating apparatus 1 calls the storage destination address (obtained from the map information) ( For example, an instruction element describing an instruction that jumps to a storage destination address) is generated. This is generated for each call instruction, and a call instruction element group (jump table) is generated.

追加実行可能情報生成装置1は、この呼び出し命令要素群と、コンパイルの結果とを合成して、追加実行可能情報とする(図10)。この場合、追加実行可能情報内で、呼び出し対象を呼び出す命令は、対応する呼び出し命令要素へのジャンプ命令を含むものとなる。この場合、例えばモジュールA′の関数 funcA1( ) において、モジュールBの関数 funcB1( ) を呼び出す呼び出し命令要素、「call addrB1」が、マップ情報を参照して生成される。そしてこの呼び出し命令要素は格納先アドレス addrCallB1 に格納されるとする。   The additional executable information generating apparatus 1 synthesizes this call instruction element group and the result of compilation into additional executable information (FIG. 10). In this case, in the additional executable information, the instruction for calling the call target includes a jump instruction to the corresponding call instruction element. In this case, for example, in the function funcA1 () of the module A ′, a call instruction element “call addrB1” for calling the function funcB1 () of the module B is generated with reference to the map information. This call instruction element is stored in the storage address addrCallB1.

この場合、モジュールA′において、モジュールBの関数 funcB1( ) を呼び出す命令は、すべて、funcB1( ) を呼び出す呼び出し命令要素が格納されている格納先アドレス addrCallB1 を呼び出すものに書き換えられる。   In this case, in the module A ′, all the instructions for calling the function funcB1 () of the module B are rewritten to call the storage destination address addrCallB1 in which the call instruction element for calling the funcB1 () is stored.

従って情報処理装置2では、呼び出し命令要素群つきの追加実行可能情報が記録されているときには、呼び出し命令要素を呼び出す命令に従って呼び出し命令要素を実行し、当該実行した呼び出し命令要素によって他のモジュールの呼び出し対象を呼び出す。このようにした場合は、かかる呼び出し命令要素群を含まない実行可能情報と、呼び出し命令要素群を含む追加実行可能情報とが共存することとなる。   Therefore, in the information processing apparatus 2, when additional executable information with the call instruction element group is recorded, the call instruction element is executed according to the instruction for calling the call instruction element, and another module is called by the executed call instruction element. Call. In such a case, the executable information not including the call instruction element group and the additional executable information including the call instruction element group coexist.

また、ここまでの説明では、追加実行可能情報や事前実行情報が実行可能情報とともに記録されている場合、情報処理装置2が特段の判断を行うことなく、事前実行情報を実行したり、追加実行可能情報を読み込むこととしていたが、情報処理装置2は、例えば実行可能情報や追加実行可能情報にバージョン情報などのモジュール識別情報が含まれる場合、当該モジュール識別情報を参照し、追加実行可能情報に含まれる、各モジュールに対応する部分のうち、実行可能情報に含まれるモジュール識別情報を含まないものについては、読み込みを行わないこととしてもよい。   In addition, in the above description, when additional executable information and pre-execution information are recorded together with executable information, the information processing apparatus 2 executes the pre-execution information or performs additional execution without making any special determination. The information processing apparatus 2 refers to the module identification information when the module identification information such as the version information is included in the executable information or the additional executable information, for example, and adds the executable information to the additional executable information. Of the portions corresponding to each module included, those not including the module identification information included in the executable information may not be read.

さらに追加実行可能情報や事前実行情報が実行可能情報とともに記録されている場合に、利用者の明示的な指示なく、事前実行情報を実行したり、追加実行可能情報を読み込むか、あるいは利用者の明示的な指示を受けるまで、事前実行情報を実行せず、追加実行可能情報を読み込まないようにするかを、情報処理装置2に予め設定しておいてもよい。この設定は、情報処理装置2の電源断によって揮発しない記憶手段に格納されてもよい。   Furthermore, if additional executable information and pre-execution information are recorded together with executable information, the pre-execution information is executed, the additional executable information is read, or the user's It may be set in advance in the information processing apparatus 2 whether the pre-execution information is not executed and additional executable information is not read until an explicit instruction is received. This setting may be stored in a storage unit that does not volatilize when the information processing apparatus 2 is powered off.

本実施の形態によると、追加実行可能情報と実行可能情報のうち書き換えられていないモジュールとが関連づけられるので、テストを行う際などに、すべてのモジュールを再度リンクし、当該リンク後のオブジェクトコード全体を記憶媒体に格納する必要がない。   According to the present embodiment, the additional executable information is associated with the module that has not been rewritten among the executable information. Therefore, when performing a test, all the modules are linked again, and the entire object code after the link is performed. Need not be stored in the storage medium.

本発明の実施の形態に係る追加実行可能情報生成装置の構成例を表すブロック図である。It is a block diagram showing the example of a structure of the additional executable information generation apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る追加実行可能情報生成装置によるコンパイル・リンクの一般的処理の例を表す説明図である。It is explanatory drawing showing the example of the general process of the compile / link by the additional executable information generation apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る追加実行可能情報生成装置が生成するマップ情報の例を表す説明図である。It is explanatory drawing showing the example of the map information which the additional executable information generation apparatus which concerns on embodiment of this invention produces | generates. 本発明の実施の形態に係る情報処理装置の例を表す構成ブロック図である。It is a block diagram showing an example of an information processing apparatus according to an embodiment of the present invention. 本発明の実施の形態に係る追加実行可能情報生成装置が生成する実行可能情報の内容例を表す説明図である。It is explanatory drawing showing the example of the content of the executable information which the additional executable information generation apparatus which concerns on embodiment of this invention produces | generates. 本発明の実施の形態に係る追加実行可能情報生成装置による追加実行可能情報の生成処理例を表すフローチャート図である。It is a flowchart figure showing the production | generation processing example of the additional executable information by the additional executable information generation apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る追加実行可能情報生成装置によって生成された実行可能情報と追加実行可能情報との関係例を表す説明図である。It is explanatory drawing showing the example of a relationship between the executable information produced | generated by the additional executable information production | generation apparatus which concerns on embodiment of this invention, and additional executable information. 本発明の実施の形態に係る追加実行可能情報生成装置による事前実行情報の生成例を表すフローチャート図である。It is a flowchart figure showing the example of generation of the prior execution information by the additional executable information generating device concerning an embodiment of the invention. 本発明の実施の形態に係る追加実行可能情報生成装置の動作例を表す説明図である。It is explanatory drawing showing the operation example of the additional executable information generation apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る追加実行可能情報生成装置が生成する追加実行可能情報の別の例を表す説明図である。It is explanatory drawing showing another example of the additional executable information which the additional executable information generation apparatus which concerns on embodiment of this invention produces | generates.

符号の説明Explanation of symbols

1 追加実行可能情報生成装置、2 情報処理装置、11,22 制御部、12,23 記憶部、13 操作部、14 出力部、24 インタフェース部、25 機能部。 DESCRIPTION OF SYMBOLS 1 Additional executable information generation apparatus, 2 Information processing apparatus, 11, 22 Control part, 12, 23 Storage part, 13 Operation part, 14 Output part, 24 Interface part, 25 Function part.

Claims (2)

記憶媒体に固定されたコンピュータ実行可能な実行情報に含まれる呼び出し対象の識別情報と、その前記記憶媒体内での格納位置とを関連づけて記憶する記憶手段と、
前記実行情報に含まれる呼び出し対象を呼び出す処理命令を含む追加実行可能情報を生成する生成手段と、
前記実行情報の実行前にコンピュータにより実行される事前実行情報であって、前記実行情報によって呼び出される呼び出し対象に対応する呼び出し対象が、前記追加実行可能情報に含まれる場合に、前記実行情報を書き換えて、前記追加実行可能情報に含まれる、対応する呼び出し対象を呼び出すよう設定させる事前実行情報を生成する事前実行情報生成手段と、を有し、
前記生成手段が、
前記記憶手段に記憶された情報を参照し、前記生成する追加実行可能情報に、前記実行情報内の呼び出し対象を呼び出す処理命令があるときに、当該処理命令で呼び出される呼び出し対象を呼び出す呼び出し命令要素を生成し、前記処理命令を、対応する前記呼び出し命令要素の格納位置を呼び出す命令に書き換えて、前記呼び出し命令要素とともに出力する追加実行可能情報生成装置。
Storage means for associating and storing identification information of a call target included in computer-executable execution information fixed to a storage medium and a storage position in the storage medium;
Generating means for generating additional executable information including a processing instruction for calling a call target included in the execution information;
The execution information is rewritten when pre-execution information executed by a computer before execution of the execution information and the call target corresponding to the call target called by the execution information is included in the additional executable information And pre-execution information generation means for generating pre-execution information for setting to call the corresponding call target included in the additional executable information,
The generating means is
A call instruction element that refers to the information stored in the storage unit and calls the call target called by the processing instruction when the additional executable information to be generated includes a processing instruction that calls the call target in the execution information. Is generated, and the processing instruction is rewritten to an instruction for calling the storage position of the corresponding call instruction element, and is output together with the call instruction element.
コンピュータを、  Computer
記憶媒体に固定されたコンピュータ実行可能な実行情報に含まれる呼び出し対象の識別情報と、その前記記憶媒体内での格納位置とを関連づけて記憶する記憶手段と、  Storage means for associating and storing identification information of a call target included in computer-executable execution information fixed to a storage medium and a storage position in the storage medium;
前記実行情報に含まれる呼び出し対象を呼び出す処理命令を含む追加実行可能情報を生成する生成手段と、  Generating means for generating additional executable information including a processing instruction for calling a call target included in the execution information;
前記実行情報の実行前にコンピュータにより実行される事前実行情報であって、前記実行情報によって呼び出される呼び出し対象に対応する呼び出し対象が、前記追加実行可能情報に含まれる場合に、前記実行情報を書き換えて、前記追加実行可能情報に含まれる、対応する呼び出し対象を呼び出すよう設定させる事前実行情報を生成する事前実行情報生成手段と、として機能させ、  The execution information is rewritten when pre-execution information executed by a computer before execution of the execution information and the call target corresponding to the call target called by the execution information is included in the additional executable information A pre-execution information generating means for generating pre-execution information for setting to call the corresponding call target included in the additional executable information,
前記生成手段として機能させる際に、前記記憶手段に記憶された情報を参照し、前記生成する追加実行可能情報に、前記実行情報内の呼び出し対象を呼び出す処理命令があるときに、当該処理命令で呼び出される呼び出し対象を呼び出す呼び出し命令要素を生成し、前記処理命令を、対応する前記呼び出し命令要素の格納位置を呼び出す命令に書き換えて、前記呼び出し命令要素とともに出力させるプログラム。  When functioning as the generation means, the information stored in the storage means is referred to. When the additional executable information to be generated includes a processing instruction for calling a call target in the execution information, the processing instruction A program that generates a call instruction element that calls a call target to be called, rewrites the processing instruction into an instruction that calls a storage position of the corresponding call instruction element, and outputs the instruction together with the call instruction element.
JP2008138109A 2008-05-27 2008-05-27 Additional executable information generating apparatus, information processing apparatus, and program Expired - Fee Related JP5109808B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008138109A JP5109808B2 (en) 2008-05-27 2008-05-27 Additional executable information generating apparatus, information processing apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008138109A JP5109808B2 (en) 2008-05-27 2008-05-27 Additional executable information generating apparatus, information processing apparatus, and program

Publications (2)

Publication Number Publication Date
JP2009288858A JP2009288858A (en) 2009-12-10
JP5109808B2 true JP5109808B2 (en) 2012-12-26

Family

ID=41458046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008138109A Expired - Fee Related JP5109808B2 (en) 2008-05-27 2008-05-27 Additional executable information generating apparatus, information processing apparatus, and program

Country Status (1)

Country Link
JP (1) JP5109808B2 (en)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62224825A (en) * 1986-03-26 1987-10-02 Nec Corp Program correcting system
JPH01205332A (en) * 1988-02-12 1989-08-17 Nec Corp Linkage editor system
JPH01237832A (en) * 1988-03-18 1989-09-22 Fujitsu Ltd Program linkage system
JPH02309419A (en) * 1989-05-24 1990-12-25 Nec Corp Static link system for correcting object module
JPH06110678A (en) * 1992-09-30 1994-04-22 Toshiba Corp Program execution system and dynamic change method for execution program
JPH06236264A (en) * 1993-02-08 1994-08-23 Nec Software Ltd Load module generating system
JPH06266539A (en) * 1993-03-17 1994-09-22 Toshiba Corp Method and device for link suitable for preparation for load module for debugging
JPH07110758A (en) * 1993-10-12 1995-04-25 Nec Corp Compiling/linking system for program
JPH11184680A (en) * 1997-12-24 1999-07-09 Fujitsu Ltd File editing method, method and device for developing program using the same, and storage medium
JP3682050B2 (en) * 2002-10-15 2005-08-10 三菱電機株式会社 Embedded software development equipment

Also Published As

Publication number Publication date
JP2009288858A (en) 2009-12-10

Similar Documents

Publication Publication Date Title
US11579856B2 (en) Multi-chip compatible compiling method and device
US20080127113A1 (en) Method and system for implementing watchpoints
US20110126179A1 (en) Method and System for Dynamic Patching Software Using Source Code
JP2011028648A (en) System and method for generating object code
JP2008276735A (en) Program code converter and program code conversion method
JP2009104252A (en) Debugging support device and debugging support method
JP6597356B2 (en) Control program, control device, and control method
KR0125605B1 (en) Method and device for verifying operation of machine language program
JP5109808B2 (en) Additional executable information generating apparatus, information processing apparatus, and program
JP2009048259A (en) Program conversion method and program for conversion
JP6720993B2 (en) Support devices and programs
JP5906609B2 (en) Debug support program, debug support method, and debug support system
JP2002055848A (en) Program execution procedure and storage medium with the program execution procedure stored therein
KR101548960B1 (en) Method for making and debuging program using virtual platform and appparatus therof
JP2021103354A (en) Program testing method
JP3682050B2 (en) Embedded software development equipment
JP4594704B2 (en) Program development support system, program and recording medium
JP2002082811A (en) Compiling method and recording medium
JP2002259121A (en) Source line debagging device
JP2009098963A (en) Automatic module generation system
JP2008071065A (en) Compile device, method, program and storage medium for performing in-line expansion
JP6898556B2 (en) Information processing equipment, compilation method and compilation program
JP6447358B2 (en) Source code generation program, source code generation method, and computer
JP2024118113A (en) Compiler dependency extraction device and source code analysis system
JPH09274570A (en) Compile method and compiler system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120601

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: 20120911

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120924

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees