JP3427779B2 - オブジェクト生成装置およびオブジェクト生成方法 - Google Patents

オブジェクト生成装置およびオブジェクト生成方法

Info

Publication number
JP3427779B2
JP3427779B2 JP12528999A JP12528999A JP3427779B2 JP 3427779 B2 JP3427779 B2 JP 3427779B2 JP 12528999 A JP12528999 A JP 12528999A JP 12528999 A JP12528999 A JP 12528999A JP 3427779 B2 JP3427779 B2 JP 3427779B2
Authority
JP
Japan
Prior art keywords
file
header
make
regenerated
relation
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
JP12528999A
Other languages
English (en)
Other versions
JP2000315159A (ja
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.)
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 JP12528999A priority Critical patent/JP3427779B2/ja
Publication of JP2000315159A publication Critical patent/JP2000315159A/ja
Application granted granted Critical
Publication of JP3427779B2 publication Critical patent/JP3427779B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、makeのユーテ
イリティを使用したオブジェクトモジュール(以下、
「オブジェクト」と記す。)の生成に関する。
【0002】
【従来の技術】makeのユーテイリティを使用してオ
ブジェクトを生成する場合、通常のmakeファイルで
は、一般に、そのオブジェクトが依存するCソースをコ
ンポーネントとし、そのオブジェクトをターゲットとす
るターゲット行の記述行う。しかし、Cソースがインク
ルードしているヘッダファイルをコンポーネントとし、
そのオブジェクトをターゲットとするターゲット行まで
も記述することは、作業の困難さから、従来、行われる
ことは少ないものである。
【0003】このように、ヘッダをコンポーネントとす
るターゲット行をmakeファイルに記述しないと、イ
ンクルードファイルが修正されていても、Cソースが修
正されなければ、オブジェクトは再生成されない事態が
発生する。これは、ヘッダファイルが修正された場合、
そのヘッダファイルの変更に伴い、Cソースで記述され
たロジックの内容も必然的に変更されるために、敢え
て、ヘッダファイルをコンポーネントにするターゲット
行の記述は必要がないという考えに由来しているものと
思われる。
【0004】
【発明が解決しようとする課題】しかしながら、上述し
たした従来技術では、下記のような例の場合、このよう
な考えは当てはまらなくなる。
【0005】いま、あるロードモジュール(以下、「L
M」と記す。)が動的に呼出している共通LMとのイン
ターフェイスとして、あるインクルードヘッダを使用し
ているとする。この場合、共通LMを開発している開発
者が、そのインクルードヘッダ内にインターフェイスエ
リアとして記述している構造体の項目群に新たに項目を
挿入するような修正を行い、さらに、共通LMをコール
しているLM側としては、その新たに追加された項目を
ロジック上使用しないとき、 Cソースの修正を行う必
要がない。しかし、オブジェクトは再生成しなければな
らない。
【0006】このような場合、既存のオブジェクトを削
除して、または、make対象ディレクトリから退避し
て、makeを実行しなくてはならないが、これでは本
来のmakeの機能を十分に活用しているとはいえない
という問題点がある。
【0007】また、従来のmakeでは、実行結果とし
て、再生成されたオブジェクトが標準出力される(厳密
にいうならば、そのオブジェクトを生成するコマンド記
述が出力される)ものの、その再生成の要因となるコン
ポーネントが何であったかまでは出力しないという問題
点もある。
【0008】本発明の目的は、上記の問題点を解消し
て、makeを実行する際、makeファイルに記述さ
れている全ターゲット行のコンポーネントに対し、その
コンポーネントがインクルードしているヘッダファイル
を洗い出し、makeファイルにそのヘッダファイルを
コンポーネントとするターゲット行を自動追加する機能
を備えたオブジェクト生成装置およびオブジェクト生成
方法を提供することにある。また、本発明の他の目的
は、オブジェクト再生成時にその生成の起因となったヘ
ッダファイルを出力する機能を備えたオブジェクト生成
装置およびオブジェクト生成方法を提供することにあ
る。
【0009】
【0010】
【課題を解決するための手段】本発明の第1のオブジェ
クト生成装置は、makeのユーテイリティを使用して
オブジェクトを生成するオブジェクト生成装置におい
て、makeファイルに記述されている各Cソースファ
イルからインクルードされている全てのヘッダをオブジ
ェクトーヘッダ関係ファイルに書き出すオブジェクトー
ヘッダ関連テーブル展開処理手段と、前記オブジェクト
ーヘッダ関係ファイルとオブジェクトーヘッダファイル
群とから、オブジェクトの生成日付・時間よりもヘッダ
の生成日付・時間が新しいオブジェクトとヘッダのペア
を抜き出し、再生成オブジェクトー新規ヘッダ関係ファ
イルに書き出す再生成オブジェクトー新規ヘッダ関連テ
ーブル展開処理手段と、前記makeファイルおよび前
記再生成オブジェクトー新規ヘッダ関係ファイルを基
に、前記makeファイルの記述のターゲット行のコン
ポーネントに、前記再生成オブジェクトー新規ヘッダ関
係ファイルの記述を追加するmake修正処理手段と、
前記修正makeファイルのmakeの実行を行い、オ
ブジェクトを再生成する修正make実行手段とを備え
たことを特徴とする。
【0011】さらに、本発明のオブジェクト生成装置
は、前記make修正処理手段は、LISTCALLタ
ーゲット行を追加した修正makeファイルを作成し、
前記修正make実行手段は、前記オブジェクト再生成
時に、前記LISTCALLターゲット行を実行するこ
とにより、その生成の起因となったヘッダファイルを出
力することを特徴とする。
【0012】また、本発明のオブジェクト生成方法は、
makeのユーテイリティを使用してオブジェクトを生
成するオブジェクト生成方法において、makeファイ
ルに記述されている各Cソースファイルからインクルー
ドされている全てのヘッダをオブジェクトーヘッダ関係
ファイルに書き出すオブジェクトーヘッダ関連テーブル
展開処理手順と、前記オブジェクトーヘッダ関係ファイ
ルとオブジェクトーヘッダファイル群とから、オブジェ
クトの生成日付・時間よりもヘッダの生成日付・時間が
新しいオブジェクトとヘッダのペアを抜き出し、再生成
オブジェクトー新規ヘッダ関係ファイルに書き出す再生
成オブジェクトー新規ヘッダ関連テーブル展開処理手順
と、前記makeファイルおよび前記再生成オブジェク
トー新規ヘッダ関係ファイルを基に、前記makeファ
イルの記述のターゲット行のコンポーネントに、前記再
生成オブジェクトー新規ヘッダ関係ファイルの記述を
加するmake修正処理手順と、前記修正makeファ
イルのmakeの実行を行い、オブジェクトを再生成す
る修正make実行手順とを有することを特徴とする。
【0013】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。
【0014】本発明の一実施の形態を示す図1を参照す
ると、このオブジェクト生成装置は、オブジェクトーヘ
ッダ関連テーブル展開処理手段B1と、再生成オブジェ
クトー新規ヘッダ関連テーブル展開処理手段B2と、m
ake修正処理手段B3と、修正make実行手段B4
と、KANRENLIST手段B5とで構成されてい
る。
【0015】オブジェクトーヘッダ関連テーブル展開処
理B1は、makeファイルA1に記述されている全て
のCソースファイルA2およびA3にインクルードされ
ている全ヘッダを洗い出し、オブジェクト−ヘッダ関係
ファイルA4に書き出す。
【0016】makeファイルA1は、通常作成される
オブジェクトとヘッダの依存関係を示したターゲット行
のないmakeファイルであり、また、オブジェクトー
ヘッダ関係ファイルA4は、makeファイルA1で記
述している全CソースとそのCソース内でインクルード
している全ヘッダの関連を表したCSVファイルであ
り、その項目はCソース名、ヘッダ名1、ヘッダ名2、
・・・、Cソース名、ヘッダ名1、・・・、の順でセッ
トされている。
【0017】再生成オブジェクトー新規ヘッダ関連テー
ブル展開処理手段B2は、オブジェクトーヘッダ関係フ
ァイルA4とオブジェクトーヘッダファイル群A8とか
ら、オブジェクトの生成年月日が新しいヘッダのペアで
あるAA.oおよびbb.hを抜き出し、再生成オブジ
ェクト新規ヘッダ関係ファイルA5に書き出す。
【0018】再生成オブジェクトー新規ヘッダ関係ファ
イルA5は、オブジェクトーヘッダ関係ファイルA4の
情報と、オブジェクトーヘッダファイル群A8の情報を
基に、オブジェクトの生成日付・時間よりも構成ヘッダ
の生成日付・時間が新しいオブジェクトとヘッダのペア
を格納するCSVファイルであり、再生成を必要とする
オブジェクトとその原因となるヘッダを示した情報を格
納する。
【0019】make修正処理手段B3は、makeフ
ァイルA1および再生成オブジェクト −新規ヘッダ関
係ファイルA5を基に、makeファイルA1における
記述AA.oのターゲット行のコンポーネントにbb.
hを追加し、LISTCALLターゲット行を追加した
修正makeファイルA6を作成する。
【0020】修正makeファイルA6は、makeフ
ァイルA1におけるmake記述に、構成するヘッダフ
ァイルの修正で再生成が必要となるオブジェクトをター
ゲット、また、そのヘッダファイルをコンポーネントと
するターゲット行を追加したmakeファイルである。
【0021】修正make実行手段B4は、修正mak
eファイルA6におけるmakeの実行を行う。この結
果、A A.oのオブジェクトが再生成され、修正ma
keファイルA6におけるLISTCALLターゲット
で記述されたKANRENLIST手段B5が実行され
る。
【0022】KANRENLIST手段B5は、再生成
オブジェクトー新規ヘッダ関係ファイルA5を基にma
ke時に、どのオブジェクトが再生成されたのか、ま
た、その要因となったヘッダファイルが何であるのかを
出力する。
【0023】標準出力A7は、make実行者にmak
e時にどのオブジェクトが再生成されたのか、また、そ
の要因となったヘッダファイルが何であるのかを明確に
するものである。
【0024】次に、本実施の形態の動作について説明す
る。
【0025】まず、オブジェクトーヘッダ関連テーブル
展開処理手段B1は、makeファイルA1に記述され
ているCソースファイルA2(Cソース名AA)からイ
ンクルードされているヘッダbbおよびccと、mak
eファイルA1に記述されているCソースファイルA3
(Cソース名BB)からインクルードされているヘッダ
ccおよびeeとを、オブジェクトーヘッダ関係ファイ
ルA4に書き出す。
【0026】次に、再生成オブジェクトー新規ヘッダ関
連テーブル展開処理手段B2は、オブジェクトーヘッダ
関係ファイルA4とオブジェクトーヘッダファイル群A
8とから、オブジェクトの生成年月日がそれぞれ12/1
7,12/18と、新しいヘッダのペアであるAA.oおよび
bb.hを抜き出し、再生成オブジェクトー新規ヘッダ
関係ファイルA5に書き出す。
【0027】make修正処理手段B3は、makeフ
ァイルA1及び再生成オブジェクト―新規ヘッダ関係フ
ァイルA5を基に、makeファイルA1の記述AA.
oのターゲット行のコンポーネントに、再生成オブジェ
クトー新規ヘッダ関係ファイルA5の記述bb.hを追
加し、また、LISTCALLターゲット行を追加した
修正makeファイルA6を作成する。
【0028】そして、修正make実行手段B4は、修
正makeファイルA6のmakeの実行を行い、この
結果、A A.oのオブジェクトが再生成される。
【0029】最後に、KANRENLIST手段B5
が、再生成オブジェクトー新規ヘッダ関係ファイルA5
を基にmake時にどのオブジェクトが再生成されたの
か、またその要因となったヘッダファイルが何であるの
かを標準出力A7に出力する。
【0030】なお、以上に説明したオブジェクト生成方
法をコンピュータに実行させるためのプログラムを半導
体メモリ,磁気ディスク等の記録媒体に記憶し、コンピ
ュータに読み込ませて実行させるようにしてもよい。
【0031】
【発明の効果】本発明によると、新たに変更されたヘッ
ダの発生により、必ず再生成を行わなければならないオ
ブジェクトの再生成の漏れを防ぐことができるという効
果が得られる。
【0032】また、何らかの不都合により、その修正さ
れたヘッダが正規のものではなく、オブジェクトの再生
成も行ってはいけないものであった場合でも、KANR
ENLIST手段により、常時、make実行者が再生
成されたオブジェクトの再生成の起因となったヘッダを
監視することができるため、実行者の念頭になかったヘ
ッダの修正によりオブジェクトが再生成されたならば、
そのヘッダ開発担当者に問い合わせることもできるの
で、危険は防止できるという効果もある。
【図面の簡単な説明】
【図1】本発明の一実施の形態を示す図
【符号の説明】
A1 makeファイル A2 cソースファイル A3 cソースファイル A4 オブジェクトーヘッダ関係ファイル A5 再生成オブジェクトー新規ヘッダ関係ファイ
ル A6 修正makeファイル A7 標準出力 A8 オブジェクトーヘッダファイル群 B1 オブジェクトーヘッダ関連テーブル展開処理
手段 B2 再生成オブジェクトー新規ヘッダ関連テーブ
ル展開処理手段 B3 make修正処理手段 B4 修正make実行手段 B5 KANRENLIST手段
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平5−173771(JP,A) 特開 平4−153737(JP,A) 特開 平4−362733(JP,A) 特開 平3−50628(JP,A) 特開2000−231493(JP,A) 田岡智志,UNIXユーザのためのc c&make入門,Software Design,株式会社技術評論社, 1997年12月18日,第86号,p.26−34 発明協会公開技報公技番号94−007452 (58)調査した分野(Int.Cl.7,DB名) G06F 9/45 G06F 9/06 G06F 9/44 JICSTファイル(JOIS)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 makeのユーテイリティを使用してオ
    ブジェクトを生成するオブジェクト生成装置において、 makeファイルに記述されている各Cソースファイル
    からインクルードされている全てのヘッダをオブジェク
    トーヘッダ関係ファイルに書き出すオブジェクトーヘッ
    ダ関連テーブル展開処理手段と、 前記オブジェクトーヘッダ関係ファイルとオブジェクト
    ーヘッダファイル群とから、オブジェクトの生成日付・
    時間よりもヘッダの生成日付・時間が新しいオブジェク
    トとヘッダのペアを抜き出し、再生成オブジェクトー新
    規ヘッダ関係ファイルに書き出す再生成オブジェクトー
    新規ヘッダ関連テーブル展開処理手段と、 前記makeファイルおよび前記再生成オブジェクトー
    新規ヘッダ関係ファイルを基に、前記makeファイル
    の記述のターゲット行のコンポーネントに、前記再生成
    オブジェクトー新規ヘッダ関係ファイルの記述を追加す
    るmake修正処理手段と、 前記修正makeファイルのmakeの実行を行い、オ
    ブジェクトを再生成する修正make実行手段とを備え
    たことを特徴とするオブジェクト生成装置。
  2. 【請求項2】 前記make修正処理手段は、LIST
    CALLターゲット行を追加した修正makeファイル
    を作成し、 前記修正make実行手段は、 前記オブジェクト再生成
    時に、前記LISTCALLターゲット行を実行するこ
    とにより、その生成の起因となったヘッダファイルを出
    力することを特徴とする請求項1記載のオブジェクト生
    成装置。
  3. 【請求項3】 makeのユーテイリティを使用してオ
    ブジェクトを生成するオブジェクト生成方法において、 makeファイルに記述されている各Cソースファイル
    からインクルードされている全てのヘッダをオブジェク
    トーヘッダ関係ファイルに書き出すオブジェクトーヘッ
    ダ関連テーブル展開処理手順と、 前記オブジェクトーヘッダ関係ファイルとオブジェクト
    ーヘッダファイル群とから、オブジェクトの生成日付・
    時間よりもヘッダの生成日付・時間が新しいオ ブジェク
    トとヘッダのペアを抜き出し、再生成オブジェクトー新
    規ヘッダ関係ファイルに書き出す再生成オブジェクトー
    新規ヘッダ関連テーブル展開処理手順と、 前記makeファイルおよび前記再生成オブジェクトー
    新規ヘッダ関係ファイルを基に、前記makeファイル
    の記述のターゲット行のコンポーネントに、前記再生成
    オブジェクトー新規ヘッダ関係ファイルの記述を追加す
    るmake修正処理手順と、 前記修正makeファイルのmakeの実行を行い、オ
    ブジェクトを再生成する修正make実行手順とを有す
    ることを特徴とするオブジェクト生成方法。
  4. 【請求項4】 makeのユーテイリティを使用してオ
    ブジェクトを生成するオブジェクト生成方法であって、 makeファイルに記述されている各Cソースファイル
    からインクルードされている全てのヘッダをオブジェク
    トーヘッダ関係ファイルに書き出すオブジェクトーヘッ
    ダ関連テーブル展開処理手順と、 前記オブジェクトーヘッダ関係ファイルとオブジェクト
    ーヘッダファイル群とから、オブジェクトの生成日付・
    時間よりもヘッダの生成日付・時間が新しいオブジェク
    トとヘッダのペアを抜き出し、再生成オブジェクトー新
    規ヘッダ関係ファイルに書き出す再生成オブジェクトー
    新規ヘッダ関連テーブル展開処理手順と、 前記makeファイルおよび前記再生成オブジェクトー
    新規ヘッダ関係ファイルを基に、前記makeファイル
    の記述のターゲット行のコンポーネントに、前記再生成
    オブジェクトー新規ヘッダ関係ファイルの記述を追加す
    るmake修正処理手順と、 前記修正makeファイルのmakeの実行を行い、オ
    ブジェクトを再生成する修正make実行手順とを有す
    る方法をコンピュータに実行させるためのプログラムを
    記憶したコンピュータ読み込み可能な記録媒体。
JP12528999A 1999-04-30 1999-04-30 オブジェクト生成装置およびオブジェクト生成方法 Expired - Fee Related JP3427779B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12528999A JP3427779B2 (ja) 1999-04-30 1999-04-30 オブジェクト生成装置およびオブジェクト生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12528999A JP3427779B2 (ja) 1999-04-30 1999-04-30 オブジェクト生成装置およびオブジェクト生成方法

Publications (2)

Publication Number Publication Date
JP2000315159A JP2000315159A (ja) 2000-11-14
JP3427779B2 true JP3427779B2 (ja) 2003-07-22

Family

ID=14906404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12528999A Expired - Fee Related JP3427779B2 (ja) 1999-04-30 1999-04-30 オブジェクト生成装置およびオブジェクト生成方法

Country Status (1)

Country Link
JP (1) JP3427779B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100834759B1 (ko) 2006-08-10 2008-06-05 삼성전자주식회사 목적 파일을 이용한 컴포넌트 구현 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
田岡智志,UNIXユーザのためのcc&make入門,Software Design,株式会社技術評論社,1997年12月18日,第86号,p.26−34
発明協会公開技報公技番号94−007452

Also Published As

Publication number Publication date
JP2000315159A (ja) 2000-11-14

Similar Documents

Publication Publication Date Title
US7207034B2 (en) Undo infrastructure
US20040186970A1 (en) Method and apparatus for creating a virtual data copy
JP2006268503A (ja) 計算機システム、ディスク装置およびデータ更新制御方法
US7895582B2 (en) Facilitating stack read and write operations in a software transactional memory system
JP2006268139A (ja) データ複製装置、方法及びプログラム並びに記憶システム
JP3617437B2 (ja) データコピー方法およびデータコピー用プログラムを記録したプログラム記録媒体
CN106357703B (zh) 集群切换方法与设备
EP0818723A2 (en) Computer system with a copy-protecting function and recording medium for use with the same
US20040243986A1 (en) Interpreter and native code execution method
JP3427779B2 (ja) オブジェクト生成装置およびオブジェクト生成方法
US20040172426A1 (en) Method of and apparatus for taking back-up and checking alteration of data, and computer product
JP5186562B2 (ja) トランザクションメモリのオブジェクトモデル
JPS62224843A (ja) デ−タベ−ス媒体内容保全方式
JP4852309B2 (ja) 資産管理装置及び資産管理方法
JP2912084B2 (ja) ホスト−ワークステーション間動的リビジョン情報整合方式
RU2155373C2 (ru) Компьютерная дублирующая система, действующая с открытыми файлами
JP3480282B2 (ja) 二重化ファイルi/o装置及びその方法及びそれを使用した情報処理装置
CN116700842B (zh) 数据对象的读写方法、装置、计算设备及存储介质
JP2002297321A (ja) ディスク装置、データバックアップ方法およびプログラム
JP2990609B2 (ja) 計算機システム
JP2005316697A (ja) ディスクアレイシステムおよびデータバックアップ方法
JP3463696B2 (ja) オンラインガーベッジコレクション処理方法
JPH04209044A (ja) データベース制御方式
US10091286B1 (en) Method and system for enhanced client-server communication in a cached communication environment
US20070260816A1 (en) RAID management apparatus, RAID management method, and computer product

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030408

LAPS Cancellation because of no payment of annual fees