JPH10161885A - 遠隔コンパイル方法およびシステム - Google Patents

遠隔コンパイル方法およびシステム

Info

Publication number
JPH10161885A
JPH10161885A JP9322537A JP32253797A JPH10161885A JP H10161885 A JPH10161885 A JP H10161885A JP 9322537 A JP9322537 A JP 9322537A JP 32253797 A JP32253797 A JP 32253797A JP H10161885 A JPH10161885 A JP H10161885A
Authority
JP
Japan
Prior art keywords
computer system
target
development
compiler
parameters
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.)
Withdrawn
Application number
JP9322537A
Other languages
English (en)
Inventor
Gerald P Duggan
ジェラルド・ピー・ダガン
David J Staudacher
デビッド・ジェイ・ストーダッハー
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH10161885A publication Critical patent/JPH10161885A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】開発コンピュータ・システム上で開発するソー
ス・コードのコンパイルまたはオブジェクト・コードの
リンクを、遠隔操作でターゲット・コンピュータ・シス
テム上で行うことを目的とする。 【解決手段】開発コンピュータ・システム上のコンパイ
ラを、コマンドをインタセプトして開発コンピュータ・
システム上でコードをコンパイルまたはリンクするラン
スタブに置き換える。ターゲット・コンピュータ・シス
テム上でコードをコンパイルまたはリンクする場合、こ
のシステムはすべてのコマンド行コンパイラまたはリン
カのパラメータを中間的なパラメータ形式に変換し、変
換されたコマンドをネットワークを介してターゲット・
コンピュータ・システムに送り、次にそのコマンドをタ
ーゲット・コンピュータ・システムで使用可能な形式に
変換する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータ・シス
テムに関し、具体的にはコンピュータ・システム内でソ
ース・コードをコンパイルすることに関する。さらに具
体的には、本発明はターゲット・コンピュータ上でソー
ス・コードを遠隔操作でコンパイルすることに関する。
【0002】
【従来の技術】ソフトウェアはしばしば複数タイプのコ
ンピュータ・システムを使用して開発される。たとえ
ば、大規模な組織は、メインフレーム・コンピュータ
と、ワークステーション・コンピュータと、部門サーバ
・コンピュータと、パーソナル・コンピュータとを持っ
ており、組織内の個人個人に使われている。この多様性
によって、様々なコンピュータ機能の価格上およびパフ
ォーマンス上の要求を満たす高い柔軟性が得られると同
時に、アプリケーション開発プロセスの複雑さが増す。
【0003】多くの開発組織は、ソフトウェア開発用に
技術者の机上にUnix(商標)システムと、オフィス
・オートメーション作業用に同じ机上にパーソナル・コ
ンピュータとを必要とする。このため、組織にとって技
術者一人当たりのコストが事実上二倍になる。さらに、
これらのコンピュータ・システムのすべてをサポートし
なければならず、これによって組織が必要とするサポー
ト・トレーニングの量とシステム管理要員の数がさらに
増大する。また、複数の開発環境を使用するためと新し
い技術のために必要な開発者トレーニングの量も増え
る。
【0004】従来技術のシステムでは、特定のターゲッ
ト・コンピュータ・システム向けにソフトウェアを開発
する必要がある場合、2つの選択肢があった。第1の選
択肢は、ターゲット・コンピュータ・システム用の既存
のテキスト・エディタやコンパイラなどを使用して、タ
ーゲット・コンピュータ・システム上でソフトウェアを
開発することである。これは、コードを1台のターゲッ
ト・コンピュータ・システムだけのために開発する場合
には非常にうまくいく。しかし、いくつかの異なるター
ゲット・コンピュータ・システム上で稼働させるコード
を開発する必要がある場合には、開発者がそれらのコン
ピュータ・システムのそれぞれにアクセスできる必要が
ある。開発者の時間を最も効率的に使用するためには、
各ターゲット・コンピュータ・システムも開発者の机の
上になければならず、これは費用が高くつき、場合によ
っては配置が困難なことがある。
【0005】いくつかの異なるコンピュータ・システム
上で開発を行う場合の1つの難点は、開発者が各ターゲ
ット・コンピュータ・システムの環境について知識を身
につけなければならないことである。これには時間がか
かり、開発者が様々な環境の間を頻繁に移動する場合に
は、かなり混乱する可能性がある。さらに、プロジェク
トのソース・コードも各環境に移動させなければなら
ず、場合によってはこれが困難または不可能なことがあ
る。
【0006】ターゲット・コンピュータ・システム用の
コードを開発する場合に選択可能な第2の選択肢は、ク
ロス・コンパイラを使用することである。クロス・コン
パイラは、一つのタイプのコンピュータ・システムで実
行されるが、別のタイプのコンピュータ・システム用の
実行可能プログラミング・コードを作成するコンパイラ
である。これは、ターゲット・コンピュータ・システム
が組込みエディタとコンパイラを備えるには小さすぎる
場合には唯一の選択肢であると考えられる。ターゲット
・コンピュータ・システム自体が大型のコンピュータ・
システムである場合、クロス・コンパイラはほとんど利
用可能ではない。そのため、この選択肢は現実的ではな
い。
【0007】当技術分野では、一つのコンピュータ・シ
ステム上でのコードの開発を可能にすると同時に、もう
一つのコンピュータ・システムまたは複数のコンピュー
タ・システムをターゲットとするシステムが必要であ
る。さらに、当技術分野では、コードをターゲット・コ
ンピュータ・システムに送ってコンパイルし、それによ
ってクロス・コンパイラを不要にするシステムが必要で
ある。さらに、開発コンピュータ・システムの環境を維
持すると同時に、複数のターゲット・コンピュータ・シ
ステム用のコードを開発するシステムが必要である。本
発明は、当技術分野における上記およびその他の必要を
満たす。
【0008】
【発明が解決しようとする課題】本発明の目的は、開発
コンピュータ・システム上で開発するソース・コードの
コンパイルまたはオブジェクト・コードのリンクを、遠
隔操作でターゲット・コンピュータ・システム上で行う
ことである。
【0009】本発明の他の目的は、コンパイラまたはリ
ンカのパラメータを、開発コンピュータ・システムの構
文からターゲット・コンピュータ・システムの構文に変
換することである。
【0010】本発明の他の目的は、ターゲット・コンピ
ュータ・システムのコンパイラまたはリンカによって出
力されたエラー・メッセージまたは戻りコードを、開発
コンピュータ・システム上で使用可能な形式に変換する
ことである。
【0011】
【課題を解決するための手段】本発明の上記およびその
他の態様は、開発コンピュータ・システム上で稼動し、
ネットワークを介してターゲット・コンピュータ・シス
テムにコマンドを送って開発コンピュータ・システムで
開発されたコードをターゲット・コンピュータ・システ
ムにコンパイルさせるシステムで実現される。このシス
テムは、開発コンピュータ・システム上のコンパイラ
を、コマンドをインタセプトして開発コンピュータ・シ
ステム上でコードをコンパイルまたはリンクするランス
タブ(RUNSTUB)に置き換える。ターゲット・コンピュー
タ・システム上でコードをコンパイルまたはリンクする
場合、このシステムはすべてのコマンド行コンパイラま
たはリンカのパラメータを中間的なパラメータ形式に変
換し、変換されたコマンドをネットワークを介してター
ゲット・コンピュータ・システムに送り、次にそのコマ
ンドをターゲット・コンピュータ・システムで使用可能
な形式に変換する。
【0012】コンパイル中またはリンク中にエラーが発
生した場合、システムはターゲット・コンピュータ・シ
ステム上のコンパイラまたはリンカによって生成された
エラー・メッセージを中間的な形式に変換してから開発
コンピュータ・システムで使用可能な形式に変換する。
したがって、実際には実際のコンパイルまたはリンクが
ターゲット・コンピュータ・システム上で行われている
ときに、開発コンピュータ・システムを使用する開発者
は、コンパイルまたはリンクが開発コンピュータ・シス
テム上で行われているかのようにコンパイルまたはリン
クを行い、エラー・メッセージを受け取る。
【0013】
【発明の実施の形態】本発明の上記およびその他の目
的、特徴、および利点は、図面を参照しながら以下の本
発明の詳細な説明を読めばよりよく理解できよう。
【0014】以下の説明は、本発明を実施する現在のと
ころ最善の企図された態様である。この説明は、限定的
なものとみなすべきではなく、単に本発明の一般原理を
説明することを目的としているに過ぎない。本発明の範
囲は特許請求の範囲を参照することによって判断すべき
である。
【0015】図1に、本発明の開発コンピュータ・シス
テムとターゲット・コンピュータ・システムのブロック
図を示す。図1を参照すると、開発コンピュータ・シス
テム102は開発環境のソフトウェアであるユーザ・イ
ンタフェース104を備える。たとえば、ユーザ・イン
タフェース104内には、典型的にはテキスト・エディ
タ、コンパイラ、リンカなど、すなわち、統合開発環境
と一般に呼ばれているものが含まれている。
【0016】マイクロソフトのVisual C++統
合開発環境は、本発明と共に機能する統合開発環境の一
例である。マイクロソフトのVisual C++は、
ファイルの集合とコンパイラの設定値を管理する構成要
素としてデベロッパ・スタジオを使用する。デベロッパ
・スタジオは始動するとき、プロジェクトの集合から成
る作業空間上で始動する。プロジェクトは、1セットの
ファイルと、1以上のプロジェクト・コンフィギュレー
ションのセットとから成る。ユーザは、デベロッパ・ス
タジオのグラフィカル・ユーザ・インタフェース(GU
I)機能を使用して、プロジェクトのファイルの追加と
削除を簡単に行うことができる。コンフィギュレーショ
ンは、プロジェクト・ビルドの最終出力を決定するコン
パイラとリンカとデバッガとの設定値を指定する。これ
らの設定値には、コンパイラの最適化レベルまたはデバ
ッグ・レベルと、リンカによって探索されるライブラリ
と、デバッグしたときのプログラムの始動オプション
と、その他の多くの設定値とが含まれる。ユーザはプロ
ジェクトのどの特定のビルドについても1つのコンフィ
ギュレーションを指定しなければならない。コンフィギ
ュレーションの変更は、使用可能なコンフィギュレーシ
ョンのプルダウン・リストから新しいコンフィギュレー
ションを選択する簡単な操作で済む。新しいコンフィギ
ュレーションの作成も同様に簡単である。コンフィギュ
レーション内で、ユーザはコンパイルを行うターゲット
・コンピュータ・システムを指定することができる。
【0017】開発者は、ユーザ・インタフェース104
を使用して、ディスク106に記憶されるソース・コー
ド・ファイルを作成する。このソース・コード・ファイ
ルは、ターゲット・コンピュータ・システム120と共
有される。ユーザがユーザ・インタフェースに対してコ
ンパイルまたはリンクを行うように指示すると、ユーザ
・インタフェースは開発コンピュータ・システム内に格
納されているコンパイラ・プログラムまたはリンカ・プ
ログラムを呼び出す。しかし、本発明ではコンパイラお
よびリンカの名前が新しい名前に変更されており、ラン
スタブ108に元のコンパイラ/リンカ名と同じ名前が
付けられて、ランスタブ108がコンパイル・コマンド
とリンク・コマンドをインタセプトする。したがって、
ユーザ・インタフェース104がコンパイラまたはリン
カを呼び出そうとすると、開発コンピュータ・システム
は代わりにランスタブ108を呼び出す。ランスタブ1
08はコンフィギュレーションを調べ、ターゲット・コ
ンピュータ・システム上でコードをコンパイルまたはリ
ンクする必要がある場合には、ランスタブ108はネッ
トワーク110を介してターゲット・コンピュータ・シ
ステム120内のターゲット・インタフェース122と
通信する。ネットワーク110を介した通信によって、
ターゲット・インタフェース122はターゲット・コン
ピュータ・システム内のターゲット・コンパイラまたは
リンカ124を呼び出し、開発コンピュータ・システム
102のユーザ・インタフェース104内で特定された
ソース・オブジェクトまたはリンク・オブジェクトがコ
ンパイルされる。
【0018】ターゲット・コンパイラを呼び出す前に、
ランスタブ108はすべてのパラメータを開発コンピュ
ータ・システムの形式から中間的形式に変換し、その中
間的形式のパラメータをネットワークを介して送信し、
そこでターゲット・インタフェース122がそれらを中
間形式からターゲット・コンピュータ・システム120
上で使用可能な形式に変換する。しかし、当業者なら、
ランスタブ108またはターゲット・インタフェース1
22が開発システム形式からターゲット・システム形式
へのすべての変換を行うこともできることがわかるであ
ろう。
【0019】さらに、ランスタブ108は、ターゲット
・コンパイラ124がネットワーク110を介してディ
スク106上のソース・コードにアクセスすることがで
きるようにファイル名を変換する。
【0020】ターゲット・コンパイラ124はソース・
コードをコンパイルするとき、エラー・メッセージおよ
び戻りコードを生成することがあり、それらはネットワ
ーク110を介して送信される。ターゲット・インタフ
ェース122は戻りコードとエラー・メッセージを中間
形式に変換し、ランスタブ108はその中間形式のエラ
ー・メッセージをユーザ・インタフェース104が使用
可能な形式に変換する。このようにして、コンパイルは
開発コンピュータ・システム上でコンパイルされている
かのように見え、これは開発コンピュータ・システムの
ユーザにとって最も好都合な形態である。
【0021】図2に、ランスタブ・ソフトウェア108
のフローチャートを示す。図2を参照すると、開始後、
ブロック202で、ユーザ・インタフェース104(図
1)から渡されたコマンド行パラメータを入手する。次
にブロック204で、コマンド行パラメータにターゲッ
ト・ビルドを行う場所と、ターゲット・ビルドをローカ
ル・コンピュータ・システム上で行うべきかどうかを示
すパラメータが含まれているかどうかを判断する。ブロ
ック204からブロック216に移り、コマンド行パラ
メータの要求に応じてローカル開発コンパイラまたはリ
ンカを呼び出す。
【0022】ビルドをターゲット・コンピュータ・シス
テム上で行う場合、ブロック204からブロック206
に進み、ディスク106(図1)からターゲット変換パ
ラメータ・テーブルを入手し、次にブロック208で図
3を呼び出してコマンド行パラメータをターゲット・コ
ンピュータ・システムが使用可能なパラメータに変換す
る。コマンド行パラメータが変換された後、ブロック2
10でファイル名を変換し、それによってターゲット・
コンピュータ・システムがソースと、インクルード・フ
ァイルやヘッダ・ファイルなどのその他のファイルに開
発コンピュータ・システムから直接アクセスすることが
できるようにする。次にブロック212でコマンド行を
ターゲット・コンピュータ・システムに送ってコンパイ
ルを開始する。
【0023】ターゲット・コンピュータ・システムがソ
ース・コードをコンパイルすると、制御はブロック21
8に移り、ターゲット・コンパイラ124(図1)が生
成したエラーを取り出す。次にブロック220で図4を
呼出し、ターゲット・システムによって生成されたエラ
ーまたは戻りコードがあればそれを開発環境で使用可能
な形式に変換し、それによってユーザ・インタフェース
104を介して表示することができるようにする。
【0024】図3に、図2のブロック208から呼び出
されたコマンド行パラメータを変換するプロセスのフロ
ーチャートを示す。図3を参照すると、このプロセスに
入った後、ブロック302で最初または次のコマンド行
パラメータを入手し、ブロック304でそれが共通コマ
ンド行パラメータであるかどうかを判断する。共通コマ
ンド行パラメータとは、開発コンピュータ・システムと
ターゲット・コンピュータ・システムの両方で使用可能
なパラメータであり、したがって開発コンピュータ・シ
ステム形式からターゲット・コンピュータ・システム形
式に変換する必要がある。
【0025】しかし本発明では、ユーザは特定のターゲ
ット・コンピュータ・システム上でのみ使用可能なコマ
ンド行パラメータを設定することができる。これらのパ
ラメータはそのターゲット・コンピュータ・システム専
用に作成されるため、変換する必要はない。本発明で
は、たとえば、このようなタイプのパラメータを二重括
弧で囲むことによって別にしておく。したがって、共通
パラメータは二重括弧で囲まれているかどうかによって
判別される。
【0026】パラメータが二重括弧で囲まれている場合
は共通パラメータではなく、したがって、ブロック30
4からブロック312に進み、パラメータから二重括弧
を除去して出力に直接送る。
【0027】パラメータが共通パラメータの場合、ブロ
ック304からブロック306に進み、そのパラメータ
をシステム中間形式に変換する。たとえば、開発システ
ム・コンパイラがマクロソフトのVisual C++
である場合、通常のデバッグ情報を生成するコマンド行
オプションは「/Zi」である。HP−UX C++コ
ンパイラが稼働しているターゲット・コンピュータ・シ
ステム用のこれと同等のオプションは「−g」である。
本発明は「/Zi」デバッグ・オプションを中間形式で
ある「debug」という語に変換し、次に、ターゲッ
トがHP−UXC++である場合にはこの「debu
g」中間形式パラメータを「−g」に変換する。それに
対して、ターゲットがANSI C++コンパイラであ
る場合には、デバッグ・オプションは「−g0」であ
る。この場合、本発明は「debug」中間パラメータ
をANSI C++コンパイラで使用するための「−g
0」パラメータに変換する。
【0028】本発明は任意の数の開発コンピュータ・シ
ステム・ユーザ・インタフェースおよび任意の数の異な
るターゲット・コンピュータ・システム・コンパイラと
共に機能することができるため、中間形式を使用するこ
とによってパラメータの変換に必要なコードの量が大幅
に減少する。たとえば、m台の異なる開発コンピュータ
・システムと、n台の異なるターゲット・コンピュータ
・システムでは、中間形式を使用しないとm×n個の異
なるセットの変換コードが必要になる。中間システム形
式を使用することにより、本発明はこれをm+n個に変
え、したがってコードの量が大幅に減少する。
【0029】パラメータを中間システム形式に変換した
後、次にブロック308でその中間システム形式を特定
のターゲット・コンピュータ・システム形式に変換す
る。パラメータを変換した後、そのパラメータが共通パ
ラメータではなかった場合、制御はブロック310に渡
り、変換するパラメータがまだあるかどうかを判断し、
ある場合には、ブロック310からブロック302に戻
り、次のパラメータを変換する。すべてのパラメータが
変換された後、ブロック310から図2に戻る。
【0030】図4に、図2のブロック220によって呼
び出される変換エラー・ルーチンのフローチャートを示
す。図4を参照すると、このルーチンに入った後、ブロ
ック402で、変換する最初または次のエラー・メッセ
ージを入手する。次にブロック404で、そのエラー・
メッセージからコンパイラ・ステージ名、すなわちエラ
ーを生成した特定のコンパイラ・ステージの名前を取り
出す。たとえば、エラーはコンパイラ、リンカ、または
プリプロセッサによって生成された可能性がある。コン
パイラ・ステージ名を取り出した後、次にブロック40
6でエラーを引き起こしたソース・ファイルのファイル
名を取り出し、ブロック408で、ファイル内のエラー
が発生した行番号または列番号を取り出す。次にブロッ
ク410で、エラー・タイプと、エラーID、たとえば
コンパイラが特定のタイプのエラーを識別するために使
用する内部タグを取り出す。ブロック410ではユーザ
に戻すエラーのテキストも取り出す。次にブロック41
2で、取り出されたデータから、前述のコマンド行パラ
メータの変換のために中間形式を使用するのと同じ方式
で、中間形式のエラー・メッセージを作成する。次にブ
ロック414で、その中間形式のエラー・メッセージを
開発コンピュータ・システムで受け入れられる形式に変
換する。次にブロック416で、変換するエラー・メッ
セージがまだあるかどうかを判断し、ある場合には、ブ
ロック402に戻って次のエラー・メッセージを処理す
る。すべてのエラー・メッセージが処理された後、ブロ
ック416から図2に戻る。
【0031】以上、本発明の現在のところ好ましい実施
例について説明したが、当業者なら、特許請求の範囲に
記載の本発明の範囲から逸脱することなく、本発明の構
成ならびに回路の多くの変更および大きく異なる実施態
様ならびに適用例が考えられることがわかるであろう。
本明細書の開示および説明は、例示的なものであり、特
許請求の範囲に定義されている本発明をいかなる意味で
も限定しない。
【0032】以上、本発明の実施例について詳述した
が、以下、本発明の各実施態様の例を示す。
【0033】(実施態様1)開発コンピュータ・システ
ム(102)上で開発されたコードをターゲット・コン
ピュータ・システム(120)上でコンパイルする方法
であって、(a)前記開発コンピュータ・システム上で
コンパイル・コマンドをインターセプトするステップ
(202)と、(b)コンパイル・パラメータを前記タ
ーゲット・コンピュータ・システム上で使用可能な形式
に変換するステップ(208)と、(c)前記ステップ
(b)で変換された前記パラメータを含むコンパイル・
コマンドを前記ターゲット・コンピュータ・システムに
送って(212)前記コードをコンパイルするステップ
と、(d)前記ターゲット・コンピュータ・システムで
生成されたエラー・メッセージを前記開発コンピュータ
・システム上で使用可能な形式に変換するステップ(2
20)と、(e)前記開発コンピュータ・システム上の
前記コンパイルの結果を表示するステップ(108)と
を含む方法。
【0034】(実施態様2)前記ステップ(b)が、
(b1)前記コンパイル・パラメータをコンピュータ・
システム中間形式に変換するステップ(306)と、
(b2)前記コンパイル・パラメータを前記コンピュー
タ・システム中間形式から前記ターゲット・コンピュー
タ・システム上で使用可能な前記形式に変換するステッ
プ(308)とをさらに含むことを特徴とする、実施態
様1に記載の方法。
【0035】(実施態様3)前記ステップ(d)が、
(d1)前記エラー・メッセージをコンピュータ・シス
テム中間形式に変換するステップ(412)と、(d
2)前記エラー・メッセージを前記コンピュータ・シス
テム中間形式から前記開発コンピュータ・システム上で
使用可能な前記形式に変換するステップ(414)とを
さらに含むことを特徴とする、実施態様1に記載の方
法。
【0036】(実施態様4)前記ステップ(c)が、
(c1)前記コンパイル・コマンドが前記コンパイルを
前記開発コンピュータ・システム上で行うように指示し
ている場合、前記開発コンピュータ・システム上でコン
パイラを呼び出して前記ソース・コードをコンパイルす
るステップ(216)をさらに含むことを特徴とする、
実施態様1に記載の方法。
【0037】(実施態様5)開発コンピュータ・システ
ム上で開発されたコードをターゲット・コンピュータ・
システム上でコンパイルするシステムであって、前記開
発コンピュータ・システム上でコンパイル・コマンドを
インターセプトし、コンパイル・パラメータを前記ター
ゲット・コンピュータ・システム上で使用可能な形式に
変換する変換システム(108)と、前記ソース・コー
ドをコンパイルするように、前記ターゲット・コンピュ
ータ・システムに前記変換システムによって変換された
前記パラメータを含むコンパイル・コマンドを送るコン
ピュータ・システム・ネットワーク(110)と、前記
変換システム内で、前記ターゲット・コンピュータ・シ
ステム上での前記コンパイル・コマンドの実行によって
生成されたエラー・メッセージを前記開発コンピュータ
・システム上で使用可能な形式に変換する手段(20
8)と、前記開発コンピュータ・システム上で前記コン
パイルの結果を表示する表示システム(108)とを含
むシステム。
【0038】(実施態様6)前記変換システム内におけ
る前記変換が、前記コンパイル・パラメータをコンピュ
ータ・システム中間形式に変換する手段(306)と、
前記コンパイル・パラメータを前記コンピュータ・シス
テム中間形式から前記ターゲット・コンピュータ・シス
テム上で使用可能な前記形式に変換する手段(308)
とをさらに含むことを特徴とする、実施態様5に記載の
システム。
【0039】(実施態様7)前記変換システムが、前記
エラー・メッセージをコンピュータ・システム中間形式
に変換する手段(412)と、前記エラー・メッセージ
を前記コンピュータ・システム中間形式から前記開発コ
ンピュータ・システム上で使用可能な前記形式に変換す
る手段(414)とをさらに含むことを特徴とする、実
施態様5に記載のシステム。
【0040】(実施態様8)開発コンピュータ・システ
ム(102)上で開発されたコードをターゲット・コン
ピュータ・システム(120)上でコンパイルするため
のコンピュータ・プログラムを記録した記録媒体であっ
て、(a)前記開発コンピュータ・システム上でコンパ
イル・コマンドをインターセプトし(202)、(b)
コンパイル・パラメータを前記ターゲット・コンピュー
タ・システム上で使用可能な形式に変換し(208)、
(c)前記ステップ(b)で変換された前記パラメータ
を含むコンパイル・コマンドを前記ターゲット・コンピ
ュータ・システムに送って(212)前記コードをコン
パイルし、(d)前記ターゲット・コンピュータ・シス
テムで生成されたエラー・メッセージを前記開発コンピ
ュータ・システム上で使用可能な形式に変換し(22
0)、(e)前記開発コンピュータ・システム上の前記
コンパイルの結果を表示する(108)ことを特長とす
るプログラムを記録した記録媒体。
【0041】(実施態様9)前記ステップ(b)が、
(b1)前記コンパイル・パラメータをコンピュータ・
システム中間形式に変換し(306)、(b2)前記コ
ンパイル・パラメータを前記コンピュータ・システム中
間形式から前記ターゲット・コンピュータ・システム上
で使用可能な前記形式に変換する(308)ことをさら
に含むことを特徴とする、実施態様8に記載のプログラ
ムを記録した記録媒体。
【0042】(実施態様10)前記ステップ(d)が、
(d1)前記エラー・メッセージをコンピュータ・シス
テム中間形式に変換し(412)、(d2)前記エラー
・メッセージを前記コンピュータ・システム中間形式か
ら前記開発コンピュータ・システム上で使用可能な前記
形式に変換する(414)ことをさらに含むことを特徴
とする、実施態様8に記載のプログラムを記録した記録
媒体。
【0043】(実施態様11)前記ステップ(c)が、
(c1)前記コンパイル・コマンドが前記コンパイルを
前記開発コンピュータ・システム上で行うように指示し
ている場合、前記開発コンピュータ・システム上でコン
パイラを呼び出して前記ソース・コードをコンパイルす
る(216)ことをさらに含むことを特徴とする、実施
態様8に記載のプログラムを記録した記録媒体。
【0044】
【発明の効果】以上のように、本発明を用いると、一つ
のコンピュータ・システム上でのコードの開発を可能に
すると同時に、もう一つのコンピュータ・システムまた
は複数のコンピュータ・システムをターゲット・システ
ムとすることができる。さらに、コードをターゲット・
コンピュータ・システムに送ってコンパイルし、それに
よってクロス・コンパイラを不要にすることができる。
さらに、開発コンピュータ・システムの環境を維持する
と同時に、複数のターゲット・コンピュータ・システム
用のコードを開発することができる。
【図面の簡単な説明】
【図1】開発コンピュータ・システムとターゲット・コ
ンピュータ・システムと、それらの接続を示すブロック
図である。
【図2】開発コンピュータ・システム内のランスタブ・
ソフトウェアのフローチャートである。
【図3】パラメータを変換するプロセスのフローチャー
トである。
【図4】エラー・メッセージを変換するプロセスのフロ
ーチャートである。
【符号の説明】
102:開発コンピュータ・システム 104:ユーザ・インターフェース 106:ソース・コード 108:ランスタブ 110:ネットワーク 120:ターゲット・コンピュータ・システム 122:ターゲット・インターフェース 124:ターゲット・コンパイラ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】開発コンピュータ・システム上で開発され
    たコードをターゲット・コンピュータ・システム上でコ
    ンパイルする方法であって、 (a)前記開発コンピュータ・システム上でコンパイル
    ・コマンドをインターセプトするステップと、 (b)コンパイル・パラメータを前記ターゲット・コン
    ピュータ・システム上で使用可能な形式に変換するステ
    ップと、 (c)前記ステップ(b)で変換された前記パラメータ
    を含むコンパイル・コマンドを前記ターゲット・コンピ
    ュータ・システムに送って前記コードをコンパイルする
    ステップと、 (d)前記ターゲット・コンピュータ・システムで生成
    されたエラー・メッセージを前記開発コンピュータ・シ
    ステム上で使用可能な形式に変換するステップと、 (e)前記開発コンピュータ・システム上の前記コンパ
    イルの結果を表示するステップとを含む方法。
JP9322537A 1996-11-26 1997-11-25 遠隔コンパイル方法およびシステム Withdrawn JPH10161885A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US757,034 1996-11-26
US08/757,034 US5881289A (en) 1996-11-26 1996-11-26 Remote compiling of source code for cross development

Publications (1)

Publication Number Publication Date
JPH10161885A true JPH10161885A (ja) 1998-06-19

Family

ID=25046087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9322537A Withdrawn JPH10161885A (ja) 1996-11-26 1997-11-25 遠隔コンパイル方法およびシステム

Country Status (4)

Country Link
US (1) US5881289A (ja)
JP (1) JPH10161885A (ja)
DE (1) DE19729603A1 (ja)
GB (1) GB2321731B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030089044A (ko) * 2002-05-15 2003-11-21 송경섭 소스코드모듈 조합 및 웹환경 제공이 가능한 컴파일시스템 및 방법
KR100615450B1 (ko) 2004-12-13 2006-08-28 한국전자통신연구원 임베디드 시스템의 툴체인 구성 및 실행 방법, 그리고 이를이용한 이동 단말 장치
JP2006331202A (ja) * 2005-05-27 2006-12-07 Ricoh Co Ltd 管理システム

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785884B1 (en) * 1999-09-29 2004-08-31 Unisys Corporation Symbolic debug interface for register transfer simulator debugger
US6609246B1 (en) * 1999-12-07 2003-08-19 Bull Hn Information Systems Inc. Integrated development environment for high speed transaction processing WWW applications on heterogeneous computer systems
US6560722B1 (en) * 1999-12-30 2003-05-06 Texas Instruments Incorporated Developing and deploying real-time high-performance applications with DSPs
US6715109B1 (en) 2000-02-04 2004-03-30 International Business Machines Corporation Method, computer program product, and system for making standard stream data accessible that would otherwise be lost in application programs
AU2001247742A1 (en) * 2000-04-12 2001-10-30 Microsoft Corporation Method and system for accepting precompiled information
US7155606B1 (en) 2000-04-12 2006-12-26 Microsoft Corporation Method and system for accepting preverified information
US20020138821A1 (en) * 2001-01-23 2002-09-26 Vadim Furman Method and apparatus for seamless porting of object code between operating system environments
US20040205730A1 (en) * 2001-06-11 2004-10-14 Week Jon J. System and method for building libraries and groups of computer programs
US7660886B2 (en) * 2001-09-27 2010-02-09 International Business Machines Corporation Apparatus and method of representing real-time distributed command execution status across distributed systems
US6880151B2 (en) * 2001-09-27 2005-04-12 International Business Machines Corporation Apparatus and method of providing common distributed services for system management applications across heterogeneous environments
US20070214020A1 (en) * 2003-03-18 2007-09-13 Balaji Srinivasan Modeling of insurance product data
CN100388191C (zh) * 2003-04-01 2008-05-14 松下电器产业株式会社 程序连接方法、装置以及终端装置
KR100546742B1 (ko) * 2003-09-04 2006-01-26 한국전자통신연구원 타겟 시스템 기반 소스 프로그램 개발장치 및 방법
DE10344847A1 (de) * 2003-09-26 2005-04-14 Philips Intellectual Property & Standards Gmbh Verfahren zum Compilieren eines Quellcode-Programms in ein maschinenlesbares Zielobjekt-Programm in einer Netzwerkumgebung
US20060031821A1 (en) * 2004-08-04 2006-02-09 Rutter Budd J Ii Divided compiling program application functionality for software development
US20060282815A1 (en) * 2005-06-09 2006-12-14 Finite State Machine Labs, Inc. System, method and computer program product for developing, configuring, installing and testing software
CN100442234C (zh) * 2005-06-21 2008-12-10 国际商业机器公司 用于嵌入式系统的软件包构建方法和系统
US7966608B2 (en) * 2005-10-26 2011-06-21 Hewlett-Packard Development Company, L.P. Method and apparatus for providing a compiler interface
US9356715B2 (en) * 2007-03-29 2016-05-31 Echostar Technologies L.L.C. User notification of broadcast communication channel problems
CA2698066A1 (en) * 2009-07-31 2011-01-31 Nitobi Software Inc. System and method for remotely compiling multi-platform native applications for mobile devices
US9026905B2 (en) * 2010-12-17 2015-05-05 Facebook, Inc. Customization of mobile applications using web-based technology
US9706006B2 (en) * 2011-07-19 2017-07-11 Infosys Limited System and method of context aware adaption of content for a mobile device
US9830307B1 (en) * 2014-12-11 2017-11-28 Amazon Technologies, Inc. Ahead of time compilation of content pages
CN105511933A (zh) * 2015-12-03 2016-04-20 深圳市创维软件有限公司 一种源代码的编译方法及相关设备
CN113360135B (zh) * 2021-04-21 2022-05-24 浙江大学 一种基于弹性伸缩的异构物联网应用远程编译方法
CN116185532B (zh) * 2023-04-18 2023-07-21 之江实验室 一种任务执行系统、方法、存储介质及电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2002201C (en) * 1988-12-06 1999-04-27 John Charles Goettelmann Translation technique
EP0423989A3 (en) * 1989-10-16 1992-09-23 Hewlett-Packard Company Software compiler and linker with improved line number table
US5339419A (en) * 1990-06-25 1994-08-16 Hewlett-Packard Company ANDF compiler using the HPcode-plus compiler intermediate language
US5339428A (en) * 1991-09-04 1994-08-16 Digital Equipment Corporation Compiler allocating a register to a data item used between a use and store of another data item previously allocated to the register
JP2665089B2 (ja) * 1991-09-26 1997-10-22 三菱電機株式会社 分散環境下におけるコンパイル方式
US5673390A (en) * 1992-09-03 1997-09-30 International Business Machines Corporation Method and system for displaying error messages
US5675800A (en) * 1994-11-30 1997-10-07 Digital Equipment Corporation Method and apparatus for remotely booting a computer system
US5600790A (en) * 1995-02-10 1997-02-04 Research In Motion Limited Method and system for loading and confirming correct operation of an application program in a target system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030089044A (ko) * 2002-05-15 2003-11-21 송경섭 소스코드모듈 조합 및 웹환경 제공이 가능한 컴파일시스템 및 방법
KR100615450B1 (ko) 2004-12-13 2006-08-28 한국전자통신연구원 임베디드 시스템의 툴체인 구성 및 실행 방법, 그리고 이를이용한 이동 단말 장치
JP2006331202A (ja) * 2005-05-27 2006-12-07 Ricoh Co Ltd 管理システム
JP4734030B2 (ja) * 2005-05-27 2011-07-27 株式会社リコー 管理システム

Also Published As

Publication number Publication date
GB2321731B (en) 2001-06-06
US5881289A (en) 1999-03-09
GB9725011D0 (en) 1998-01-28
GB2321731A (en) 1998-08-05
DE19729603A1 (de) 1998-05-28

Similar Documents

Publication Publication Date Title
JPH10161885A (ja) 遠隔コンパイル方法およびシステム
US5675804A (en) System and method for enabling a compiled computer program to invoke an interpretive computer program
JP3315857B2 (ja) 一般フロントエンド、及び動的にロード可能なバックエンドを有するコンパイラ
Ousterhout Tcl: An embeddable command language
US5680622A (en) System and methods for quickly detecting shareability of symbol and type information in header files
US7162709B2 (en) System and method for common code generation
JP2609093B2 (ja) ソフトウエアプログラムを生成するための装置及びその方法
US6185728B1 (en) Development system with methods for type-safe delegation of object events to event handlers of other objects
US6003095A (en) Apparatus and method for demand loading a dynamic link library
JP3041222B2 (ja) ソース・コード作成システム及び方法
US6063133A (en) No preprocessor for embedded SQL in a 3GL
US6408431B1 (en) Method and apparatus for multi-language software code generation
US6434742B1 (en) Symbol for automatically renaming symbols in files during the compiling of the files
US6055370A (en) Apparatus which allows data sharing amongst computer programs from different program environments
Reiss The Field programming environment: A friendly integrated environment for learning and development
JPH0383153A (ja) メツセージ処理システム及び方法
KR20040097909A (ko) 명령에 대한 입력 파라미터의 반영 기반 프로세싱
JPH0334018A (ja) コンピュータプログラムのカプセル化方法及びその装置
AU617776B2 (en) Modular complier with a class independent parser and a plurality of class dependent parsers
EP0520708B1 (en) Method and apparatus for converting high level form abstract syntaxes into an intermediate form
US20010051974A1 (en) Method and apparatus for automatic generation of data interfaces
JPH04245545A (ja) マルチ・ユーザ仮想計算機システム構成方法およびマルチ・ユーザ仮想計算機システム
Zeigler et al. Ada for the Intel 432 microcomputer
CN115390846A (zh) 编译构建方法、装置、电子设备和存储介质
Şavga et al. Practical refactoring-based framework upgrade

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20041019

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041029

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041115

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20061010