JPH01205331A - Large-scale program link system - Google Patents

Large-scale program link system

Info

Publication number
JPH01205331A
JPH01205331A JP3035188A JP3035188A JPH01205331A JP H01205331 A JPH01205331 A JP H01205331A JP 3035188 A JP3035188 A JP 3035188A JP 3035188 A JP3035188 A JP 3035188A JP H01205331 A JPH01205331 A JP H01205331A
Authority
JP
Japan
Prior art keywords
symbol
address table
external
scale program
external symbol
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.)
Granted
Application number
JP3035188A
Other languages
Japanese (ja)
Other versions
JPH0760381B2 (en
Inventor
Kazuaki Iwamoto
和昭 岩本
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP3035188A priority Critical patent/JPH0760381B2/en
Publication of JPH01205331A publication Critical patent/JPH01205331A/en
Publication of JPH0760381B2 publication Critical patent/JPH0760381B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To reduce a work memory quantity at the time of linking by writing the content of the real address of an external symbol address table in an external symbol address table storage means at the time of storing a large-scale program in a memory. CONSTITUTION:A compile unit storage means 1 stores compile units consisting the large-scale program. A link command storage means 2 stores the names of the compile units and link commands holding attributes. A link means 3 sequentially fetches the compile units and the link commands, links the compile units and generates a definition symbol address table and an external symbol address table. A storage means 4 stores the large-scale program outputted as the result of a link result by the means 3. The storage means 5 stores the external symbol address table. A loading means 6 settles external symbol addresses in which association in the compile units are unsettled with collating the external symbol address table, and stores the program in the memory 8 in a form that the program can be executed.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、プログラムのリンク方式に関し、特にオペレ
ーティングシステム等の大規模プログラムのリンク方式
に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a program linking method, and particularly to a linking method for large-scale programs such as operating systems.

〔従来の技術〕[Conventional technology]

従来、オペレーティングシステム等の大規模プログラム
を構成する複数のコンパイル単位をリンクする場合には
、例えば、コンパイル単位間にまたがる外部シンボルの
大規模プログラム内での実アドレスを確定してコンパイ
ル単位をシンボルにより関連付ける際に、第1のコンパ
イル単位内に実アドレスが未確定の外部シンボルを確認
した時点で、当該外部シンボルが定義された第2のコン
パイル単位を入力し、当該外部シンボルの実アドレスを
確定させ、さらに、第2のコンパイル単位内で実アドレ
スが未確定の外部シンボルを認識すると、当該外部シン
ボルが定性された第3のコンパイル単位を入力し、当該
外部シンボルの実アドレスを確定させ、この操作を実ア
ドレスが未確定の外部シンボルがなくなるまで繰返し、
全ての外部シンボルの実アドレスを決定してコンパイル
単位のリンクを行なっていた。
Conventionally, when linking multiple compilation units that make up a large-scale program such as an operating system, for example, the real addresses of external symbols that span between compilation units are determined within the large-scale program, and the compilation units are linked by symbols. When associating, when an external symbol whose real address is undetermined is confirmed in the first compilation unit, enter the second compilation unit in which the external symbol is defined and determine the real address of the external symbol. , Furthermore, when an external symbol whose real address is undetermined is recognized in the second compilation unit, the third compilation unit in which the external symbol has been determined is input, the real address of the external symbol is determined, and this operation is performed. Repeat until there are no external symbols whose real addresses are undefined,
The real addresses of all external symbols were determined and the compilation unit was linked.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上述した従来のリンク方式では、外部シンボルのアドレ
スの確定が終らない間、当該外部シンボルを含んでいる
コンパイル単位を作業用メモリ中に保持しておく必要が
あり、オペレーティングシステムのような大規模プログ
ラムのリンクを行なう場合多量のメモリを必要どすると
いう欠点がある。
In the conventional linking method described above, it is necessary to hold the compilation unit containing the external symbol in working memory until the address of the external symbol is determined, which makes it difficult for large-scale programs such as operating systems. The disadvantage is that linking requires a large amount of memory.

〔課題を解決するための手段〕[Means to solve the problem]

本発明の大規模プログラムリンク方式は、大規模プログ
ラムを構成する複数のコンパイル単位を記憶しているコ
ンパイル単位格納手段と、前記コンパイル131位毎の
コンパイル単位名と属性を保持するリンクコマンドを記
憶するリンクコマンド格納手段と、 前記コンパイル単位とリンクコマンドを取込んで前記コ
ンパイル単位をリンフタるとともに、コンパイル単位内
に存在する外部シンボルと当該シンボルの大規模プログ
ラム内での実アドレスと外部シンボルに対して実アドレ
スが割当てられたか否かを示すフラグを含む定義シンボ
ルアドレス表および外部シンボルと当該外部シンボルに
対応する大規模プログラム内での実アドレスとを含む外
部シンボルアドレス表を作成するリンク手段と、定義シ
ンボルアドレス表を記憶する定義シンボルアドレス表格
納手段と、 外部シンボルアドレス表を記憶する外部シンボルアドレ
ス表格納手段と、 リンク手段によるリンクの結果出力された大規模プログ
ラムを記憶する大規模プログラム格納手段と、 該大規模プログラムを実行可能な形で保持するメモリと
、 大規模プログラムにおける実アドレスが確定していて、
該実アドレスが対応するコンパイル単位に反映されてい
ない外部シンボルを検出し、その時外部シンボルアドレ
ス表を参照して当該外部シンボルの実アドレスをコンパ
イル単位に書込むとともに、大規模プログラムを前記メ
モリにロードするローディング手段とを有している。
The large-scale program linking method of the present invention stores a compilation unit storage means that stores a plurality of compilation units constituting a large-scale program, and a link command that stores the compilation unit name and attribute for each of the 131st compilations. a link command storage means, which takes in the compilation unit and the link command, linfts the compilation unit, and stores external symbols existing in the compilation unit, the real addresses of the symbols in the large-scale program, and the external symbols; A linking means for creating a definition symbol address table including a flag indicating whether a real address has been assigned or not, and an external symbol address table including an external symbol and a real address within a large-scale program corresponding to the external symbol, and a definition. Definition symbol address table storage means for storing a symbol address table; External symbol address table storage means for storing an external symbol address table; Large-scale program storage means for storing a large-scale program output as a result of linking by the linking means. , the memory that holds the large-scale program in an executable form and the real address of the large-scale program are fixed,
Detects an external symbol whose real address is not reflected in the corresponding compilation unit, refers to the external symbol address table, writes the real address of the external symbol to the compilation unit, and loads the large-scale program into the memory. and a loading means.

〔作用〕[Effect]

大規模プログラムを構成する複数のコンパイル単位毎に
リンクコマンドを指定し、当該リンクコマンドで指定さ
れた第1のコンパイル単位を入力し、当該コンパイル単
位で定義された外部シンボルについては実アドレスを確
定して定義シンボルアドレス表に登録しておき、他のコ
ンパイル単位で定義された外部シンボルを参照する場合
については、定義シンボルアドレス表に未解決アドレス
として登録しておき、大規模プログラム内にリンクされ
たコンパイル単位内には、定義シンボルアドレス表内で
の、該当する外部シンボルの登録位置を保持することに
より、第1のコンパイル単位で使用していた作業用メモ
リを解放し、次のコンパイル単位のリンクを行ない、全
てのコンパイル単位の入力が終了した時点で、定義シン
ボルアドレス表の内容を外部シンボルアドレス表として
出力し、大規模ブOグラムローディング時に未解決の外
部シンボルアドレスを確定することができる。
Specify a link command for each of the multiple compilation units that make up a large program, input the first compilation unit specified by the link command, and determine the real addresses of external symbols defined in the compilation unit. If you want to refer to an external symbol defined in another compilation unit, register it as an unresolved address in the definition symbol address table and refer to an external symbol defined in another compilation unit. By retaining the registration position of the corresponding external symbol in the definition symbol address table within the compilation unit, the working memory used in the first compilation unit is freed and the next compilation unit is linked. When the input of all compilation units is completed, the contents of the definition symbol address table are output as an external symbol address table, and unresolved external symbol addresses can be determined during large-scale program loading.

〔実施例〕〔Example〕

次に、本発明の実施例ついて図面を参照して説明する。 Next, embodiments of the present invention will be described with reference to the drawings.

第1図は本発明の大規模プログラムリンク方式の一実施
例を示すブロック図、第2図はリンクコマンド21を示
ず描成図、第3図は大規模プログラム31と定義シンボ
ルアドレス表36との関係を示す図、第4図は第1図の
リンク手段3の動作を示ずフローチャートである。
FIG. 1 is a block diagram showing an embodiment of the large-scale program linking method of the present invention, FIG. 2 is a diagram without the link command 21, and FIG. 3 shows the large-scale program 31 and the defined symbol address table 36. FIG. 4 is a flowchart that does not show the operation of the linking means 3 of FIG. 1.

本実施例の大規模プログラムリンク方式は、コンパイル
単位格納手段1とリンクコマンド格納手段2とリンク手
段3と大規模プログラム格納手段4と外部シンボルアド
レス表格納手段5とローディング手段6と定義シンボル
アドレス表格納手段7とメモリ8とで構成されている。
The large-scale program linking method of this embodiment includes a compile unit storage means 1, a link command storage means 2, a link means 3, a large-scale program storage means 4, an external symbol address table storage means 5, a loading means 6, and a definition symbol address table. It is composed of storage means 7 and memory 8.

コンパイル単位格納手段1は大規模プログラムを構成す
るコンパイル単位1〜nを記憶している。リンクコマン
ド格納手段2は大規模プログラムを構成するコンパイル
単位毎のコンパイル単位名と属性を保持するリンクコマ
ンド21を記憶する。このリンクコマンド21は、第2
図に示ずように、コンパイル単位1〜n毎に設けられて
おり、それぞれ、コンパイル単位の名前および属性を保
持している。リンク手段3はコンパイル単位とリンクコ
マンド21を順次取込んでコンパイル単位をリンクする
とともに、コンパイル単位内に存在づ゛る外部シンボル
と当該シンボルの大規模プログラム内での実アドレスと
外部シンボルに対して実アドレスが割当てられたか否か
を示すフラグを含む定義シンボルアドレス表36および
外部シンボルと当該外部シンボルに対応する大規模プロ
グラム内での実アドレスとを含む外部シンボルアドレス
表を作成する。第3図において、定義シンボルアドレス
表36は外部シンボル(Sl)、実アドレス(A1)、
フラグ(Fl)の3項目で構成され、コンパイル単位を
リンクしていく際に外部シンボルにアドレスを割当るた
めに作成される。プログラムモジュール32はリンク手
段3によりリンクされたプログラムモジュールである。
A compilation unit storage means 1 stores compilation units 1 to n that constitute a large-scale program. The link command storage means 2 stores a link command 21 that holds the compile unit name and attributes of each compile unit constituting a large-scale program. This link command 21
As shown in the figure, it is provided for each compilation unit 1 to n, and each holds the name and attributes of the compilation unit. The linking means 3 sequentially takes in the compilation unit and the link command 21 and links the compilation unit, and also links the external symbol existing in the compilation unit, the real address of the symbol in the large-scale program, and the external symbol. A defined symbol address table 36 including a flag indicating whether a real address has been assigned or not, and an external symbol address table including external symbols and real addresses within the large-scale program corresponding to the external symbols are created. In FIG. 3, the definition symbol address table 36 includes external symbols (Sl), real addresses (A1),
It consists of three items: flags (Fl), and is created to assign addresses to external symbols when linking compilation units. The program module 32 is a program module linked by the linking means 3.

外部シンボル参照部33は、プログラムモジュール内で
の外部シンボルのアドレスをシンボルが現れる毎に指示
し、当該プログラムモジュール内の外部シンボルの有無
を調べる際にリンク手段3により参照される。
The external symbol reference section 33 indicates the address of an external symbol within a program module each time a symbol appears, and is referenced by the linking means 3 when checking the presence or absence of an external symbol within the program module.

シンボル変位索引部34は外部シンボル参照部33の内
容の変位を保持する。アドレス表変位索引部35は、シ
ンボル変位索引部34が保持している外部シンボルに対
応さゼて定義シンボルアドレス表36内での該当する外
部シンボルの位置を定義シンボルアドレス表36の変位
として保持する。外部シンボルアドレス表は、表1に示
すように、外部シンボルと実アドレスの2項目で構成さ
れ、記録される内容は前述した定義シンボルアドレス表
の外部シンボルと実アドレスの内容と同じである。
The symbol displacement index section 34 holds the displacement of the contents of the external symbol reference section 33. The address table displacement index section 35 corresponds to the external symbol held by the symbol displacement index section 34 and holds the position of the corresponding external symbol in the definition symbol address table 36 as a displacement of the definition symbol address table 36. . As shown in Table 1, the external symbol address table is composed of two items, external symbols and real addresses, and the recorded contents are the same as the contents of the external symbols and real addresses in the defined symbol address table described above.

大規模プログラム格納手段4はリンク手段3によるリン
クの結果出力された大規模プログラムを記憶する。外部
シンボルアドレス表格納手段5は外部シンボルアドレス
表を記憶する。定義シンボルアドレス表格納手段7は定
義シンボルアドレス表を記憶する。ローディング手段6
は大規模プログラムのローディング時に大規模プログラ
ム内に含まれる、コンパイル単位間での関連付けが未解
決の外部シンボルアドレスを前記外部シンボルアドレス
表を参照しながら解決し、実行可能な形でプログラムを
メモリ8にロードする。
The large-scale program storage means 4 stores the large-scale program output as a result of linking by the linking means 3. External symbol address table storage means 5 stores an external symbol address table. Definition symbol address table storage means 7 stores a definition symbol address table. Loading means 6
When loading a large-scale program, it resolves external symbol addresses that are included in the large-scale program and have unresolved associations between compilation units while referring to the external symbol address table, and stores the program in an executable form in memory 8. Load into.

次に、本実施例の動作について第3図、第4図を参照し
て説明する。
Next, the operation of this embodiment will be explained with reference to FIGS. 3 and 4.

まず、リンクコマンド格納手段2に格納されたリンクコ
マンドで指定されたコンパイル単位をコンパイル単位格
納手段1から順次読込み(ステップ211)、読込まれ
たコンパイル単位に外部シンボルがあるかを外部シンボ
ル参照部33を参照して判断しくステップ212)、外
部シンボルが存在すればその外部シンボルが参照y(で
あるが否か、すなわら当該シンボルが他の部分で定義さ
れてここでは参照するだけか、または、ここで定義され
ているのかを判断する(ステップ213)。
First, the compilation units specified by the link commands stored in the link command storage means 2 are sequentially read from the compilation unit storage means 1 (step 211), and the external symbol reference section 33 checks whether the read compilation units have external symbols. (step 212), and if an external symbol exists, the external symbol is a reference y (or not, i.e. whether the symbol is defined in another part and is only referenced here), or , it is determined whether it is defined here (step 213).

参照型でなければ当該外部シンボルの実アドレスを確定
し、定義シンボルアドレス表36に外部シンボル名(S
l)と確定した実アドレス(A1)を登録し、外部シン
ボルに対応する実アドレスが確定していることを示すフ
ラグ(Fl)をオンにして(ステップ219)、次の外
部シンボルの処理にうつる。ステップ213の判断で外
部シンボルが参照型であれば、定義シンボルアドレス表
36を参照して(ステップ214)、当該外部シンボル
が登録しているかを判断しくステップ215)、登録さ
れていればこの外部シンボルに対応するフラグ(Fl)
がオンであるかを判断する(ステップ216)。フラグ
(Fl)がオンである場合、この外部シンボルについて
は既に実アドレスが確定しており、大規模プログラム3
1内のプログラムモジュール32の外部シンボル参照部
33へ実アドレス(A1)を書込む(ステップ217)
。ステップ216の判断でフラグ(Fl)がオンでない
場合はまだ当該外部シンボル(Sl)の実アドレス(A
1)が確定していないことを意味し、プログラムモジュ
ール32のシンボル変位索引部34に外部シンボル参照
部33の変位を入れ、アドレス表変位索引部35に定義
シンボルアドレス表36の該当する外部シンボルの定義
シンボルアドレス表36内変位を入れ(ステップ221
)、次の外部シンボルの処理に移る。ステップ215の
判断で定義シンボルアドレス表36に、該当する外部シ
ンボルがみつからなかった場合は、定義シンボルアドレ
ス表36に外部シンボル(Sl)を登録して対応するフ
ラグ(Fl)をオフとしくステップ220)、次の外部
シンボルの処理を行なう。ステップ212の判断で1つ
のコンパイル単位内の全外部シンボルの処理を終了した
ら、全てのコンパイル単位の処理を終了したかを判断す
る(ステップ218)。まだ終了してなければ、当該コ
ンパイル単位のリンク処理で使用していた作業用メモリ
を解放しくステップ222)、次のコンパイル単位の処
理を行ない、終了していれば、リンク処理を終了する。
If it is not a reference type, determine the actual address of the external symbol, and enter the external symbol name (S
1) and the confirmed real address (A1), turn on the flag (Fl) indicating that the real address corresponding to the external symbol is confirmed (step 219), and proceed to processing the next external symbol. . If the external symbol is a reference type as determined in step 213, the definition symbol address table 36 is referred to (step 214), and it is determined whether the external symbol is registered (step 215). Flag (Fl) corresponding to the symbol
is on (step 216). If the flag (Fl) is on, the real address has already been determined for this external symbol, and large-scale program 3
Write the real address (A1) to the external symbol reference section 33 of the program module 32 in 1 (step 217).
. If the flag (Fl) is not on as determined in step 216, the actual address (A
1) is not determined, the displacement of the external symbol reference section 33 is entered in the symbol displacement index section 34 of the program module 32, and the displacement of the corresponding external symbol in the defined symbol address table 36 is entered in the address table displacement index section 35. Enter the displacement in the definition symbol address table 36 (step 221
), move on to processing the next external symbol. If the corresponding external symbol is not found in the definition symbol address table 36 as determined in step 215, the external symbol (Sl) is registered in the definition symbol address table 36 and the corresponding flag (Fl) is turned off, and step 220 ), processes the next external symbol. When the processing of all external symbols in one compilation unit has been completed as determined in step 212, it is determined whether the processing of all compilation units has been completed (step 218). If it has not yet been completed, the working memory used in the linking process of the compilation unit is released (step 222), and the next compilation unit is processed; if it has been completed, the linking process is terminated.

このとき、定義シンボルアドレス表36の外部シンボル
(Sl)と実アドレス(A1)部を前述した外部シンボ
ルアドレス表として出力する。次に、大規模プログラム
31をメモリ8ヘローデイングする際、プログラムモジ
ュール32の外部シンボル参照部33に索引部35で示
す外部シンボルアドレス表36内の実アドレス(A1)
の内容を書込むことによって未解決であった外部シンボ
ル参照が解決される。
At this time, the external symbol (Sl) and real address (A1) portions of the defined symbol address table 36 are output as the aforementioned external symbol address table. Next, when loading the large-scale program 31 into the memory 8, the external symbol reference section 33 of the program module 32 uses the real address (A1) in the external symbol address table 36 indicated by the index section 35.
By writing the contents of , unresolved external symbol references are resolved.

(発明の効果〕 以上説明したように本発明は、大規模プロゲラ  。(Effect of the invention〕 As explained above, the present invention is a large-scale progera.

ム等のリンクを行なう場合に、大規模プログラムを描成
するコンパイル単位毎にリンクコマンドを指定し、当該
リンクコマンドで指定された第1のコンパイル単位を入
力し、当該コンパイル単位で定義された外部シンボルに
ついては実アドレスを確定し、定義シンボルアドレス表
を登録しておき、外部シンボルの参照については、定義
シンボルアドレス表に未解決アドレスとして登録してお
き、大規模プログラム内にリンクされたコンパイル単位
内には、定義シンボルアドレス表内の変位という形で保
持することにより、第1のコンパイル単位で使用してい
た作業用メモリを解放し、次のコンパイル単位のリンク
を行ない、全てのコンパイル単位の入力が終了した時点
で、定義シンボルアドレス表の内容を外部シンボルアド
レス表として出力し、大規模プログラムローディング時
に未解決の外部シンボルアドレスを解決することにより
、リンク時の作業用メモリ量を大幅に削減することがで
きるという効果がある。
When linking programs, etc., specify a link command for each compilation unit that draws a large-scale program, input the first compilation unit specified by the link command, and link external files defined in the compilation unit. For symbols, determine the real address and register it in the definition symbol address table. For references to external symbols, register them as unresolved addresses in the definition symbol address table. The working memory used in the first compilation unit is freed by holding it in the form of a displacement in the definition symbol address table, the next compilation unit is linked, and all compilation units are When input is completed, the contents of the definition symbol address table are output as an external symbol address table, and unresolved external symbol addresses are resolved when loading a large program, greatly reducing the amount of working memory during linking. The effect is that it can be done.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の大規模プログラムリンク方式の一実施
例を示すブロック図、第2図tよりンクコマンド21を
示す構成図、第3図は大規模プログラム31と定義シン
ボルアドレス表36どの関係を示す図、第4図は第1図
のリンク手段3の動作を示すフローチャー1・である。 1・・・コンパイル単位格納手段、 2・・・リンクコマンド格納手段、 3・・・リンク手段、 4・・・大規模プログラム格納手段、 5・・・外部シンボルアドレス表格納手段、6・・・ロ
ーディング手段、 7・・・定義シンボルアドレス表格納手段、8・・・メ
モリ、 21・・・リンクコマンド、 31・・・大規模プログラム、 32・・・プログラムモジュール、 33・・・外部シンボル参照部、 34・・・シンボル変位索引部、 35・・・アドレス表変位索引部、 36・・・定義シンボルアドレス表、 211〜222・・・ステップ。
FIG. 1 is a block diagram showing an embodiment of the large-scale program linking method of the present invention, FIG. 2 is a block diagram showing the link command 21 from t, and FIG. FIG. 4 is a flowchart 1 showing the operation of the linking means 3 of FIG. DESCRIPTION OF SYMBOLS 1... Compile unit storage means, 2... Link command storage means, 3... Link means, 4... Large-scale program storage means, 5... External symbol address table storage means, 6... Loading means, 7: Definition symbol address table storage means, 8: Memory, 21: Link command, 31: Large-scale program, 32: Program module, 33: External symbol reference section , 34... Symbol displacement index section, 35... Address table displacement index section, 36... Definition symbol address table, 211-222... Steps.

Claims (1)

【特許請求の範囲】 オペレーティングシステム等のような大規模プログラム
をリンクする大規模プログラムリンク方式であって、 大規模プログラムを構成する複数のコンパイル単位を記
憶しているコンパイル単位格納手段と、前記コンパイル
単位毎のコンパイル単位名と属性を保持しているリンク
コマンドを記憶するリンクコマンド格納手段と、 前記コンパイル単位とリンクコマンドを取込んで前記コ
ンパイル単位をリンクするとともに、コンパイル単位内
に存在する外部シンボルと当該シンボルの大規模プログ
ラム内での実アドレスと外部シンボルに対して実アドレ
スが割当てられたか否かを示すフラグを含む定義シンボ
ルアドレス表および外部シンボルと当該外部シンボルに
対応する大規模プログラム内での実アドレスとを含む外
部シンボルアドレス表を作成するリンク手段と、定義シ
ンボルアドレス表を記憶する定義シンボルアドレス表格
納手段と、 外部シンボルアドレス表を記憶する外部シンボルアドレ
ス表格納手段と、 リンク手段によるリンクの結果、出力された大規模プロ
グラムを記憶する大規模プログラム格納手段と、 該大規模プログラムを実行可能な形で保持するメモリと
、 大規模プログラムにおける実アドレスが確定していて、
該実アドレスが対応するコンパイル単位に反映されてい
ない外部シンボルを検出し、その時外部シンボルアドレ
ス表を参照して当該外部シンボルの実アドレスをコンパ
イル単位に書込むとともに、大規模プログラムを前記メ
モリにロードするローディング手段とを有する大規模プ
ログラムリンク方式。
[Claims] A large-scale program linking method for linking a large-scale program such as an operating system, comprising: a compilation unit storage unit storing a plurality of compilation units constituting the large-scale program; a link command storage means for storing a link command holding a compile unit name and attributes for each unit; a link command storage means that takes in the compile unit and the link command, links the compile unit, and stores external symbols existing in the compile unit; and the real address of the symbol in the large-scale program, a defined symbol address table containing a flag indicating whether a real address has been assigned to the external symbol, and the external symbol and the large-scale program corresponding to the external symbol. a linking means for creating an external symbol address table including real addresses of the external symbol address table; a defined symbol address table storing means for storing the defined symbol address table; an external symbol address table storing means for storing the external symbol address table; A large-scale program storage means for storing the large-scale program output as a result of linking, a memory for holding the large-scale program in an executable form, and a real address in the large-scale program has been determined,
Detects an external symbol whose real address is not reflected in the corresponding compilation unit, refers to the external symbol address table, writes the real address of the external symbol to the compilation unit, and loads the large-scale program into the memory. A large-scale program linking method having a loading means.
JP3035188A 1988-02-12 1988-02-12 Large-scale program link method Expired - Fee Related JPH0760381B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3035188A JPH0760381B2 (en) 1988-02-12 1988-02-12 Large-scale program link method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3035188A JPH0760381B2 (en) 1988-02-12 1988-02-12 Large-scale program link method

Publications (2)

Publication Number Publication Date
JPH01205331A true JPH01205331A (en) 1989-08-17
JPH0760381B2 JPH0760381B2 (en) 1995-06-28

Family

ID=12301428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3035188A Expired - Fee Related JPH0760381B2 (en) 1988-02-12 1988-02-12 Large-scale program link method

Country Status (1)

Country Link
JP (1) JPH0760381B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04149732A (en) * 1990-10-15 1992-05-22 Nec Corp Processing system for language processing program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04149732A (en) * 1990-10-15 1992-05-22 Nec Corp Processing system for language processing program

Also Published As

Publication number Publication date
JPH0760381B2 (en) 1995-06-28

Similar Documents

Publication Publication Date Title
JPH01306923A (en) System for connecting different languages
JPH03266039A (en) Free format data link processing system
JPH01205331A (en) Large-scale program link system
JPH05297911A (en) Sequence control circuit for sequence controller
JP2820184B2 (en) Load module unit test support device
JPH06332749A (en) Register analysis processor
JPS62216037A (en) Message managing system using source library
JPH02162420A (en) Fetching process system for option program
JPH03186933A (en) Symbol processing system for language processing system
JPS6144339B2 (en)
JP2754866B2 (en) Object code generator for data driven computer
JPH03157729A (en) Multiple succession control system
JPH02287875A (en) Filing system in computer system
JPH02130637A (en) Source code translating system
JPH04117523A (en) program editing device
JPH07141189A (en) Overlay linking system
JPH05189212A (en) Linking method
JPH01142936A (en) Information linking method
JPS63308655A (en) System for built-in input/output device driver
JPS6344240A (en) Program processing control system
JPH02178845A (en) Precompiling system for data base operation language
JPH0423038A (en) Automatic generating device for program document
JPH0390931A (en) Generation of rom transformation program
JPH0460721A (en) Language processing system directed to object
JPH02148220A (en) Selective copying system for program

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees