JPH11282691A - ソフトウェア開発システム - Google Patents

ソフトウェア開発システム

Info

Publication number
JPH11282691A
JPH11282691A JP10068098A JP10068098A JPH11282691A JP H11282691 A JPH11282691 A JP H11282691A JP 10068098 A JP10068098 A JP 10068098A JP 10068098 A JP10068098 A JP 10068098A JP H11282691 A JPH11282691 A JP H11282691A
Authority
JP
Japan
Prior art keywords
file
directory
undefined
symbol
search target
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.)
Pending
Application number
JP10068098A
Other languages
English (en)
Inventor
Takashi Okube
隆 屋部
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 JP10068098A priority Critical patent/JPH11282691A/ja
Publication of JPH11282691A publication Critical patent/JPH11282691A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】プログラムリンク時に必要とする、汎用ソフト
が提供している関数のファイル、及び他者が作成して提
供された関数のファイルの格納ディレクトリを容易に把
握可能とするソフトウェア開発システムの提供。 【解決手段】ソースプログラムファイルのコンパイル・
リンク時に、未定義シンボル(undefined s
ymbol)エラーとなった関数に対して、予め指定さ
れているコンパイル・リンク対象外のディレクトリ中に
格納されているリンク対象関数を検索し、前記未定義シ
ンボル(undefined symbol)エラーと
なった関数の候補として出力する。

Description

【発明の詳細な説明】
【0001】本発明は、プログラム開発システムに関
し、特に、ソースプログラムファイルをコンパイル・リ
ンク実行の結果、未定義シンボル(undefined
symbol)エラーの処理方式に関する。
【0002】
【従来の技術】汎用ソフトを利用してのプログラム開発
や、大人数でのプログラム開発を行っている場合、部品
的に使用される関数(サブルーチン又はファンクショ
ン)のうち、プログラム中で直接使用する部分の関数に
ついては、その関数を含むファイルがどのディレクトリ
に格納されているかを把握することは容易である。
【0003】しかし、プログラムで使用する(呼び出
す)関数が、その関数の中で使用する関数については、
どのディレクトリに格納されているのかを把握すること
は容易ではない。
【0004】このため、コンパイル及びリンク実行の結
果、未定義シンボル(undefined symbo
l)エラー(プログラム中で参照される関数名(シンボ
ル)について、該シンボル名と同一の名を有する関数が
定義されていず、リンク時にバインドできない旨のエラ
ー)となった場合に、エラーとなったファイルの格納デ
ィレクトリを見つけることは困難である。
【0005】
【発明が解決しようとする課題】上記したように、汎用
ソフト又は他者により提供される関数をプログラムで使
用する場合、該関数の中で呼び出される関数について
は、どのディレクトリに格納されているのかを把握する
ことは困難であり、コンパイル及びリンク実行の結果、
未定義シンボル(undefined symbol)
エラーとなった場合に、エラーとなったファイルの格納
ディレクトリを見つけることは困難である、という問題
点を有している。
【0006】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、プログラムがリ
ンク時に必要とする、汎用ソフトが提供している関数の
ファイル、及び、他者が作成して提供された関数のファ
イルの格納ディレクトリを容易に把握可能とするプログ
ラム開発システムを提供することにある。
【0007】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、ソースプログラムファイルのコンパイル
・リンク時に、未定義シンボル(undefined
symbol)エラーとなった関数に対して、コンパイ
ル・リンク対象外のディレクトリ中に格納されているリ
ンク対象関数を検索し、前記未定義シンボル(unde
fined symbol)エラーとなった関数の候補
として出力する手段を備える。
【0008】
【発明の実施の形態】本発明の実施の形態について説明
する。本発明は、その好ましい実施の形態において、プ
ログラミング言語(例えばC言語)のソースプログラム
のコンパイル・リンク時に発生する未定義シンボル(u
ndefined symbol)となった関数に対し
て、コンパイル・リンク対象外ディレクトリより、リン
ク対象候補関数を出力・表示する手段を備えたものであ
る。
【0009】本発明は、その好ましい実施の形態におい
て、図1を参照すると、検索対象ディレクトリ取得手段
(11)は、MAKEの実行が行われると、MAKEフ
ァイルの内容を参照して、検索対象ディレクトリ、実行
結果の出力先が、MAKEファイルにパラメータとして
指定されている場合には、これを、検索対象ディレクト
リ記憶部(21)に格納する。
【0010】チェック手段(13)は、コンパイル・リ
ンク終了時に出力される未定義シンボル(undefi
ned symbol)の対象となったファイルの情報
を読込み、検索対象ディレクトリ記憶部(21)に格納
されている検索対象ディレクトリを含むその配下の全デ
ィレクトリ内のファイルを検索し、未定義シンボル(u
ndefined symbol)エラーとなったファ
イル名と、ファイル名が一致するファイルを、該未定義
シンボルエラーとなった関数のリンク対象候補関数とし
て検出する。
【0011】出力手段(14)は、チェック手段(1
3)にて検出されたリンク対象候補関数をコンパイル・
リンク結果として画面あるいは帳票に出力を行う。
【0012】また、チェック手段(13)にて、リンク
対象候補関数が検出されなかった場合には、検索対象デ
ィレクトリ配下にはリンク対象候補関数が存在していな
い旨のメッセージを、画面あるいは帳票に出力を行う。
【0013】このため、未定義シンボル(undefi
ned symbol)対象となったファイルの格納デ
ィレクトリ、または、ファイルの存在の有無が即時に判
明することになる。
【0014】上記したように、本発明の実施の形態によ
れば、プログラムがリンク時に必要とする、汎用ソフト
が提供している関数のファイル、または、他者が作成し
て提供された関数のファイルの格納ディレクトリを容易
に把握できる。以下実施例に即して詳細に説明する。
【0015】
【実施例】図1は、本発明の一実施例の構成を示す図で
ある。図1を参照すると、本実施例は、MAKEファイ
ルの入力装置30と、データ処理装置10と、検索対象
ディレクトリなどを記憶する記憶部21を有する記憶装
置20と、リンク対象候補関数を表示、出力する出力装
置40と、を備えて構成されており、データ処理装置1
0は、検索対象ディレクトリ取得手段11と、MAKE
ユーティリティ12と、チェック手段13と、出力手段
14とを備えている。
【0016】検索対象ディレクトリ取得手段11は、M
AKEファイルが実行されると、入力装置30より入力
されたMAKEファイル内に指定されている未定義シン
ボル(undefind symbol)関数検索対象
ディレクトリパラメータを入力し、検索対象ディレクト
リを、検索対象ディレクトリ記憶装置21に格納する。
【0017】また、検索結果の出力先が指定されている
場合には、MAKEファイルのパラメータより入力し、
そして記憶装置20内に格納する。そして記憶装置20
内に格納後は、MAKEファイルを、MAKEユーティ
リティ12の入力とする。MAKEユーティリティ12
は、ソースファイルのコンパイル及びリンク手順を記述
したMAKEファイルを入力し、コンパイル及びリンク
を自動実行するものである。なお、MAKEユーティリ
ティについては、例えば特開平8−87416号公報等
の記載が参照される。
【0018】チェック手段13では、MAKEユーティ
リティ12の出力結果内の未定義シンボル(undef
ined symbol)エラーの関数名を取得し、ま
た、検索対象ディレクトリ取得手段11によって格納さ
れた、検索対象ディレクトリを検索対象ディレクトリ記
憶部21より入力する。
【0019】そして入力した検索対象ディレクトリ及び
その配下の全ディレクトリを検索し、未定義シンボル
(undefined symbol)対象ファイルと
一致するファイルが存在した場合、未定義シンボル(u
ndefined symbol)ファイル名と検索デ
ィレクトリ名を対応させてメモリ上に格納する。
【0020】出力手段14では、メモリ上に格納され
た、未定義シンボル(undefined symbo
l)ファイル名と検索ディレクトリ名の対応をMAKE
ユーティティ12の出力結果とともに編集を行い、記憶
装置20内にある出力先の指示に従い、画面上への表
示、または、帳票出力用のスプールファイルへの出力を
行う。
【0021】上記したように、記憶装置20は、検索対
象ディレクトリ記憶部21を備えている。検索対象ディ
レクトリ記憶部21は、MAKEファイル内の未定義シ
ンボル(undefined symbol)関数検索
対象ディレクトリ・パラメータの検索対象ディレクト
リ、同じくMAKEファイル内の検索結果の出力先に関
する情報を格納している。
【0022】図2は、本発明の一実施例の処理フローを
示す流れ図である。図1、および図2を参照して、本発
明の一実施例の動作について説明する。
【0023】C言語コンパイル・リンク用のMAKEフ
ァイル中に、未定義シンボル(undefined s
ymbol)関数検索対象ディレクトリを指定するため
のパラメータ、検索結果の出力先を指定するためのパラ
メータを設定する。
【0024】MAKEファイルを実行すると、MAKE
ファイルの内容が検索対象ディレクトリ取得手段11に
送られる(図2のステップS1)。
【0025】検索対象ディレクトリ取得手段11は、入
力されたMAKEファイルの内容より、未定義シンボル
(undefined symbol)関数検索対象デ
ィレクトリパラメータ、検索結果の出力先パラメータで
指定された内容を検索対象ディレクトリ記憶部21に格
納する(図2のステップS2、S4)。
【0026】一方、上記パラメータが設定されていない
場合は、検索対象ディレクトリなし、検索結果出力先な
しの旨を検索対象ディレクトリ記憶部21格納する(図
2のステップS2、S3)。
【0027】設定後は、MAKEファイルの内容をMA
KEユーティリティ12に引き渡し、MAKEユーティ
リティ21はその処理を実行する(図2のステップS
5)。すなわち、MAKEファイルの記述内容に従いコ
ンパイル及びリンクを行う。
【0028】次に、チェック手段13は、MAKEユー
ティリティ12の実行結果を取得し、実行結果の中で、
未定義シンボル(undefined symbol)
となったファイルが有るか否かの確認を行う(図2のス
テップS6)。未定義シンボル(undefined
symbol)が発生していない場合には、MEKEユ
ーティリティ12の実行結果を出力手段14へ引き渡す
(図2のステップS9)。
【0029】一方、図2のステップS6の判定で、未定
義シンボル(undefinedsymbol)が発生
している場合には、未定義シンボル(undefine
dsymbol)となったファイル名を全てメモリ上に
格納し、全てのファイル名をメモリに格納した後、検索
対象ディレクトリ記憶部21に格納された、検索対象デ
ィレクトリ中の全ファイル名を検索し(図2のステップ
S8)、メモリ上に格納した未定義シンボル(unde
fined symbol)となったファイル名との比
較を行う。比較の結果、一致したものがあった場合は、
リンク対象候補関数として、ファイル名と格納ディレク
トリ名(パス情報も含めて)を対応させてメモリ上に格
納する。
【0030】検索対象ディレクトリ中の全ファイルに対
して検索終了した後、検索対象ディレクトリ配下のディ
レクトリに対しても同様の処理を繰り返す。検索対象デ
ィレクトリを頂点としたその配下の全ディレクトリに対
して検索処理が終了するまで繰り返す。
【0031】全ディレクトリに対して検索処理が終了し
た後、MEKEユーティリティ12の実行結果を出力手
段へ引き渡す(図3のステップS9)。
【0032】図2のステップS8で検索の結果、一致す
るファイルが検出できなかった未定義シンボル(und
efined symbol)となったファイル名につ
いては、リンク対象候補関数なしのメッセージを、ME
KEユーティリティ12の実行結果に付加する。
【0033】最後に、出力手段14は、MEKEユーテ
ィリティの実行結果を入力し、チェック手段13と同様
に、実行結果の中で、未定義シンボル(undefin
edsymbol)となったファイルが有るか否かの確
認を行う。
【0034】未定義シンボル(undefined s
ymbol)エラーが発生していない場合には、検索対
象ディレクトリ記憶部21の検索結果の出力先パラメー
タで指定された内容を参照し、出力先が設定されている
場合は、設定された内容に従い、画面上への表示、また
は、帳票出力用のスプールファイルへの出力を行い、出
力先が設定されていない場合は、画面上へ表示を行う。
【0035】未定義シンボル(undefined s
ymbol)エラーが発生している場合には、チェック
手段13にてメモリ上に格納した、未定義シンボル(u
ndefined symbol)ファイル名と、格納
ディレクトリ名の対応情報を参照し、MAKEユーティ
リティ12の実行結果の未定義シンボル(undefi
ned symbol)が表示されている部分と対応が
とれるように実行結果の編集を行う。
【0036】実行結果編集後、未定義シンボル(und
efined symbol)が発生していない場合と
同様に、検索対象ディレクトリ記憶部の検索結果の出力
先パラメータで指定された内容に従い、実行結果を出力
装置40へ出力する(図2のステップS9)。
【0037】次に本発明の第二の実施例について説明す
る。本発明の第二の実施例においては、検索対象ディレ
クトリ取得手段11、及び出力手段14の機能を、前記
実施例と変更したものである。すなわち、検索対象ディ
レクトリ取得手段11に、MAKEファイル記憶機能が
追加されており、検索対象ディレクトリ取得手段11
は、入力したMAKEファイルの内容をメモリ上に格納
する。
【0038】出力手段14では、未定義シンボル(un
defined symbol)となったファイルと、
ファイルが格納されているディレクトリ名(パス情報も
含めて)の情報を、検索対象ディレクトリ取得手段11
が格納したMAKEファイルの内容に追加して、サンプ
ルMAKEファイルとして、画面上へ表示、または帳票
へ出力を行う。
【0039】なお、上記実施例では、プログラミング言
語としてC言語を用いた例について説明したが、MAK
Eユーティリティでコンパイル・リンクされるものであ
れば他の高級言語もしくはアセンブラ言語に対しても本
発明が適用できることは勿論である。
【0040】
【発明の効果】以上説明したように、本発明によれば、
プログラムで使用する関数のファイルがリンクパラメー
タに設定漏れていた場合でも、リンク対象候補関数とし
て格納場所が確認しやすくなり、プログラム開発を行う
場合に、製造工程での生産性向上を図ることができる、
という効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示す図である。
【図2】本発明の一実施例の処理フローを示す流れ図で
ある。
【符号の説明】
10 データ処理装置 11 検索対象ディレクトリ取得手段(処理) 12 MAKEユーティリティ 13 チェック手段(処理) 14 出力手段(処理) 20 記憶装置 21 検索対象ディレクトリ記憶部 30 入力装置 40 出力装置

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】ソースプログラムファイルのコンパイル・
    リンク時に、未定義シンボル(undefined s
    ymbol)エラーとなった関数に対して、予め指定さ
    れたコンパイル・リンク対象外のディレクトリ中に格納
    されているリンク対象関数を検索し、前記未定義シンボ
    ル(undefined symbol)エラーとなっ
    た関数の候補を出力する手段を備えたことを特徴とする
    ソフトウェア開発システム。
  2. 【請求項2】ソースファイルのコンパイル、及びオブジ
    ェクトファイルのリンク手順を規定したファイル(「M
    AKEファイル」という)を入力し、該ファイルに、検
    索対象ディレクトリを指定するパラメータが設定されて
    いる場合には、該検索対象ディレクトリを、検索対象デ
    ィレクトリ記憶部に格納する検索対象ディレクトリ取得
    手段と、 前記MAKEファイルに基づきコンパイル・リンクを実
    行する手段(「MAKEユーティリティ」という)の出
    力結果から、未定義シンボル(undefined s
    ymbol)エラー対象となったファイルの情報を読込
    み、前記検索対象ディレクトリ記憶部に格納されている
    検索対象ディレクトリを含むその配下の全ディレクトリ
    内のファイルを検索し、前記未定義シンボル(unde
    fined symbol)エラーとなったファイル名
    と一致するファイルを、リンク対象候補関数として検出
    するチェック手段と、 前記チェック手段により検出されたリンク対象候補関数
    を、コンパイル・リンク結果として出力するように制御
    する出力手段と、 を備えたことを特徴とするソフトウェア開発システム。
  3. 【請求項3】前記未定義シンボル(undefined
    symbol)エラーとなったファイル名とその格納
    ディレクトリの情報を、前記MAKEファイルの内容に
    追加し新たなMAKEファイルを作成する手段を備えた
    ことを特徴とする請求項2記載のソフトウェア開発シス
    テム。
  4. 【請求項4】前記出力手段が、前記MAKEユーティリ
    ティからの出力結果について、未定義シンボル(und
    efined symbol)エラーと対応させて、前
    記チェック手段により検出されたリンク対象候補関数
    を、表示出力するように編集加工する、ことを特徴とす
    る請求項2記載のソフトウェア開発システム。
  5. 【請求項5】(a)ソースファイルのコンパイル、及び
    オブジェクトファイルのリンク手順を規定したファイル
    (MAKEファイル)を入力装置より入力し、該ファイ
    ルに、検索対象ディレクトリを指定するパラメータが設
    定されている場合には、該検索対象ディレクトリを、検
    索対象ディレクトリ記憶部に格納する処理、 (b)前記MAKEファイルに基づきコンパイル・リン
    ク実行の結果出力される未定義シンボル(undefi
    ned symbol)エラー対象となったファイルの
    情報を読込み、前記検索対象ディレクトリ記憶部に格納
    されている検索対象ディレクトリを含むその配下の全デ
    ィレクトリ内のファイルを検索し、前記未定義シンボル
    (undefined symbol)エラーとなった
    ファイル名と一致するファイルを、リンク対象候補関数
    として検出する処理、 (c)前記チェック手段により検出されたリンク対象候
    補関数を、コンパイル・リンク結果として出力装置に出
    力するように制御する処理、 の上記処理(a)、(b)、(c)をコンピュータで実
    行させるためのプログラムを記録した記録媒体。
  6. 【請求項6】請求項4記載の記録媒体において、(d)
    前記未定義シンボル(undefined symbo
    l)エラーとなったファイル名とその格納ディレクトリ
    の情報を、前記MAKEファイルの内容に追加して、新
    たなMAKEファイルを作成する処理をコンピュータで
    機能させるためのプログラムを記録した記録媒体。
JP10068098A 1998-03-27 1998-03-27 ソフトウェア開発システム Pending JPH11282691A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10068098A JPH11282691A (ja) 1998-03-27 1998-03-27 ソフトウェア開発システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10068098A JPH11282691A (ja) 1998-03-27 1998-03-27 ソフトウェア開発システム

Publications (1)

Publication Number Publication Date
JPH11282691A true JPH11282691A (ja) 1999-10-15

Family

ID=14280475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10068098A Pending JPH11282691A (ja) 1998-03-27 1998-03-27 ソフトウェア開発システム

Country Status (1)

Country Link
JP (1) JPH11282691A (ja)

Similar Documents

Publication Publication Date Title
JP4924976B2 (ja) ソフトウェア開発支援システム
JPH11282691A (ja) ソフトウェア開発システム
JP2007226685A (ja) アプリケーションメンテナンス支援装置、アプリケーション生成装置、アプリケーションメンテナンス支援方法、およびコンピュータプログラム
JPH06110733A (ja) プログラムのテストケース生成装置
JPH11327887A (ja) 自動部品化機能付コンパイラシステムおよび記録媒体
JPH09101880A (ja) プログラム分析装置
JP2636058B2 (ja) アセンブラ原始プログラムをcobol原始プログラムに変換する装置
JP2002215391A (ja) プログラム解析装置及びプログラム解析方法及び記録媒体
JPH11154093A (ja) プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体
JP2000339145A (ja) プログラム保守支援方法、装置及び記録媒体
JP2001125793A (ja) コンパイラシステム及びコンパイル方法並びに記録媒体
CN117687641A (zh) Linux下可视化选择安装文件实现快速打包的方法及系统
JP2588788B2 (ja) ファイル抽出方式
JPH0358225A (ja) ファイル編集方式
JPH06324853A (ja) オブジェクト指向プログラミング言語を対象とした原始プログラム編集装置
JP2000089946A (ja) メッセージ・テキスト及びヘルプ・テキストのカスタマイズ方法、及び、カスタマイズ方法を実施するプログラムを格納した記録媒体
JP2018005551A (ja) 編集支援プログラム、装置および方法
JPH0264822A (ja) ファイル処理エラー検出方法
JPH0275021A (ja) 原始プログラム編集方法
JPH0713752A (ja) プログラムのリビジョン管理方法とその装置
JPH03186933A (ja) 言語処理システムのシンボル処理方式
JP2004355072A (ja) 例外情報表示方法及び実施装置並びに処理プログラム
JPH07105014A (ja) 言語処理システムのシンボル処理方式
JPH04233636A (ja) コンピュータ
JP2005301749A (ja) コンパイル装置及びコンパイル用プログラム、並びに記憶媒体

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000905