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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
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
ス・コードのコンパイルまたはオブジェクト・コードの
リンクを、遠隔操作でターゲット・コンピュータ・シス
テム上で行うことを目的とする。 【解決手段】開発コンピュータ・システム上のコンパイ
ラを、コマンドをインタセプトして開発コンピュータ・
システム上でコードをコンパイルまたはリンクするラン
スタブに置き換える。ターゲット・コンピュータ・シス
テム上でコードをコンパイルまたはリンクする場合、こ
のシステムはすべてのコマンド行コンパイラまたはリン
カのパラメータを中間的なパラメータ形式に変換し、変
換されたコマンドをネットワークを介してターゲット・
コンピュータ・システムに送り、次にそのコマンドをタ
ーゲット・コンピュータ・システムで使用可能な形式に
変換する。
Description
テムに関し、具体的にはコンピュータ・システム内でソ
ース・コードをコンパイルすることに関する。さらに具
体的には、本発明はターゲット・コンピュータ上でソー
ス・コードを遠隔操作でコンパイルすることに関する。
ンピュータ・システムを使用して開発される。たとえ
ば、大規模な組織は、メインフレーム・コンピュータ
と、ワークステーション・コンピュータと、部門サーバ
・コンピュータと、パーソナル・コンピュータとを持っ
ており、組織内の個人個人に使われている。この多様性
によって、様々なコンピュータ機能の価格上およびパフ
ォーマンス上の要求を満たす高い柔軟性が得られると同
時に、アプリケーション開発プロセスの複雑さが増す。
技術者の机上にUnix(商標)システムと、オフィス
・オートメーション作業用に同じ机上にパーソナル・コ
ンピュータとを必要とする。このため、組織にとって技
術者一人当たりのコストが事実上二倍になる。さらに、
これらのコンピュータ・システムのすべてをサポートし
なければならず、これによって組織が必要とするサポー
ト・トレーニングの量とシステム管理要員の数がさらに
増大する。また、複数の開発環境を使用するためと新し
い技術のために必要な開発者トレーニングの量も増え
る。
ト・コンピュータ・システム向けにソフトウェアを開発
する必要がある場合、2つの選択肢があった。第1の選
択肢は、ターゲット・コンピュータ・システム用の既存
のテキスト・エディタやコンパイラなどを使用して、タ
ーゲット・コンピュータ・システム上でソフトウェアを
開発することである。これは、コードを1台のターゲッ
ト・コンピュータ・システムだけのために開発する場合
には非常にうまくいく。しかし、いくつかの異なるター
ゲット・コンピュータ・システム上で稼働させるコード
を開発する必要がある場合には、開発者がそれらのコン
ピュータ・システムのそれぞれにアクセスできる必要が
ある。開発者の時間を最も効率的に使用するためには、
各ターゲット・コンピュータ・システムも開発者の机の
上になければならず、これは費用が高くつき、場合によ
っては配置が困難なことがある。
上で開発を行う場合の1つの難点は、開発者が各ターゲ
ット・コンピュータ・システムの環境について知識を身
につけなければならないことである。これには時間がか
かり、開発者が様々な環境の間を頻繁に移動する場合に
は、かなり混乱する可能性がある。さらに、プロジェク
トのソース・コードも各環境に移動させなければなら
ず、場合によってはこれが困難または不可能なことがあ
る。
コードを開発する場合に選択可能な第2の選択肢は、ク
ロス・コンパイラを使用することである。クロス・コン
パイラは、一つのタイプのコンピュータ・システムで実
行されるが、別のタイプのコンピュータ・システム用の
実行可能プログラミング・コードを作成するコンパイラ
である。これは、ターゲット・コンピュータ・システム
が組込みエディタとコンパイラを備えるには小さすぎる
場合には唯一の選択肢であると考えられる。ターゲット
・コンピュータ・システム自体が大型のコンピュータ・
システムである場合、クロス・コンパイラはほとんど利
用可能ではない。そのため、この選択肢は現実的ではな
い。
ステム上でのコードの開発を可能にすると同時に、もう
一つのコンピュータ・システムまたは複数のコンピュー
タ・システムをターゲットとするシステムが必要であ
る。さらに、当技術分野では、コードをターゲット・コ
ンピュータ・システムに送ってコンパイルし、それによ
ってクロス・コンパイラを不要にするシステムが必要で
ある。さらに、開発コンピュータ・システムの環境を維
持すると同時に、複数のターゲット・コンピュータ・シ
ステム用のコードを開発するシステムが必要である。本
発明は、当技術分野における上記およびその他の必要を
満たす。
コンピュータ・システム上で開発するソース・コードの
コンパイルまたはオブジェクト・コードのリンクを、遠
隔操作でターゲット・コンピュータ・システム上で行う
ことである。
ンカのパラメータを、開発コンピュータ・システムの構
文からターゲット・コンピュータ・システムの構文に変
換することである。
ュータ・システムのコンパイラまたはリンカによって出
力されたエラー・メッセージまたは戻りコードを、開発
コンピュータ・システム上で使用可能な形式に変換する
ことである。
他の態様は、開発コンピュータ・システム上で稼動し、
ネットワークを介してターゲット・コンピュータ・シス
テムにコマンドを送って開発コンピュータ・システムで
開発されたコードをターゲット・コンピュータ・システ
ムにコンパイルさせるシステムで実現される。このシス
テムは、開発コンピュータ・システム上のコンパイラ
を、コマンドをインタセプトして開発コンピュータ・シ
ステム上でコードをコンパイルまたはリンクするランス
タブ(RUNSTUB)に置き換える。ターゲット・コンピュー
タ・システム上でコードをコンパイルまたはリンクする
場合、このシステムはすべてのコマンド行コンパイラま
たはリンカのパラメータを中間的なパラメータ形式に変
換し、変換されたコマンドをネットワークを介してター
ゲット・コンピュータ・システムに送り、次にそのコマ
ンドをターゲット・コンピュータ・システムで使用可能
な形式に変換する。
生した場合、システムはターゲット・コンピュータ・シ
ステム上のコンパイラまたはリンカによって生成された
エラー・メッセージを中間的な形式に変換してから開発
コンピュータ・システムで使用可能な形式に変換する。
したがって、実際には実際のコンパイルまたはリンクが
ターゲット・コンピュータ・システム上で行われている
ときに、開発コンピュータ・システムを使用する開発者
は、コンパイルまたはリンクが開発コンピュータ・シス
テム上で行われているかのようにコンパイルまたはリン
クを行い、エラー・メッセージを受け取る。
的、特徴、および利点は、図面を参照しながら以下の本
発明の詳細な説明を読めばよりよく理解できよう。
ころ最善の企図された態様である。この説明は、限定的
なものとみなすべきではなく、単に本発明の一般原理を
説明することを目的としているに過ぎない。本発明の範
囲は特許請求の範囲を参照することによって判断すべき
である。
テムとターゲット・コンピュータ・システムのブロック
図を示す。図1を参照すると、開発コンピュータ・シス
テム102は開発環境のソフトウェアであるユーザ・イ
ンタフェース104を備える。たとえば、ユーザ・イン
タフェース104内には、典型的にはテキスト・エディ
タ、コンパイラ、リンカなど、すなわち、統合開発環境
と一般に呼ばれているものが含まれている。
合開発環境は、本発明と共に機能する統合開発環境の一
例である。マイクロソフトのVisual C++は、
ファイルの集合とコンパイラの設定値を管理する構成要
素としてデベロッパ・スタジオを使用する。デベロッパ
・スタジオは始動するとき、プロジェクトの集合から成
る作業空間上で始動する。プロジェクトは、1セットの
ファイルと、1以上のプロジェクト・コンフィギュレー
ションのセットとから成る。ユーザは、デベロッパ・ス
タジオのグラフィカル・ユーザ・インタフェース(GU
I)機能を使用して、プロジェクトのファイルの追加と
削除を簡単に行うことができる。コンフィギュレーショ
ンは、プロジェクト・ビルドの最終出力を決定するコン
パイラとリンカとデバッガとの設定値を指定する。これ
らの設定値には、コンパイラの最適化レベルまたはデバ
ッグ・レベルと、リンカによって探索されるライブラリ
と、デバッグしたときのプログラムの始動オプション
と、その他の多くの設定値とが含まれる。ユーザはプロ
ジェクトのどの特定のビルドについても1つのコンフィ
ギュレーションを指定しなければならない。コンフィギ
ュレーションの変更は、使用可能なコンフィギュレーシ
ョンのプルダウン・リストから新しいコンフィギュレー
ションを選択する簡単な操作で済む。新しいコンフィギ
ュレーションの作成も同様に簡単である。コンフィギュ
レーション内で、ユーザはコンパイルを行うターゲット
・コンピュータ・システムを指定することができる。
を使用して、ディスク106に記憶されるソース・コー
ド・ファイルを作成する。このソース・コード・ファイ
ルは、ターゲット・コンピュータ・システム120と共
有される。ユーザがユーザ・インタフェースに対してコ
ンパイルまたはリンクを行うように指示すると、ユーザ
・インタフェースは開発コンピュータ・システム内に格
納されているコンパイラ・プログラムまたはリンカ・プ
ログラムを呼び出す。しかし、本発明ではコンパイラお
よびリンカの名前が新しい名前に変更されており、ラン
スタブ108に元のコンパイラ/リンカ名と同じ名前が
付けられて、ランスタブ108がコンパイル・コマンド
とリンク・コマンドをインタセプトする。したがって、
ユーザ・インタフェース104がコンパイラまたはリン
カを呼び出そうとすると、開発コンピュータ・システム
は代わりにランスタブ108を呼び出す。ランスタブ1
08はコンフィギュレーションを調べ、ターゲット・コ
ンピュータ・システム上でコードをコンパイルまたはリ
ンクする必要がある場合には、ランスタブ108はネッ
トワーク110を介してターゲット・コンピュータ・シ
ステム120内のターゲット・インタフェース122と
通信する。ネットワーク110を介した通信によって、
ターゲット・インタフェース122はターゲット・コン
ピュータ・システム内のターゲット・コンパイラまたは
リンカ124を呼び出し、開発コンピュータ・システム
102のユーザ・インタフェース104内で特定された
ソース・オブジェクトまたはリンク・オブジェクトがコ
ンパイルされる。
ランスタブ108はすべてのパラメータを開発コンピュ
ータ・システムの形式から中間的形式に変換し、その中
間的形式のパラメータをネットワークを介して送信し、
そこでターゲット・インタフェース122がそれらを中
間形式からターゲット・コンピュータ・システム120
上で使用可能な形式に変換する。しかし、当業者なら、
ランスタブ108またはターゲット・インタフェース1
22が開発システム形式からターゲット・システム形式
へのすべての変換を行うこともできることがわかるであ
ろう。
・コンパイラ124がネットワーク110を介してディ
スク106上のソース・コードにアクセスすることがで
きるようにファイル名を変換する。
コードをコンパイルするとき、エラー・メッセージおよ
び戻りコードを生成することがあり、それらはネットワ
ーク110を介して送信される。ターゲット・インタフ
ェース122は戻りコードとエラー・メッセージを中間
形式に変換し、ランスタブ108はその中間形式のエラ
ー・メッセージをユーザ・インタフェース104が使用
可能な形式に変換する。このようにして、コンパイルは
開発コンピュータ・システム上でコンパイルされている
かのように見え、これは開発コンピュータ・システムの
ユーザにとって最も好都合な形態である。
のフローチャートを示す。図2を参照すると、開始後、
ブロック202で、ユーザ・インタフェース104(図
1)から渡されたコマンド行パラメータを入手する。次
にブロック204で、コマンド行パラメータにターゲッ
ト・ビルドを行う場所と、ターゲット・ビルドをローカ
ル・コンピュータ・システム上で行うべきかどうかを示
すパラメータが含まれているかどうかを判断する。ブロ
ック204からブロック216に移り、コマンド行パラ
メータの要求に応じてローカル開発コンパイラまたはリ
ンカを呼び出す。
テム上で行う場合、ブロック204からブロック206
に進み、ディスク106(図1)からターゲット変換パ
ラメータ・テーブルを入手し、次にブロック208で図
3を呼び出してコマンド行パラメータをターゲット・コ
ンピュータ・システムが使用可能なパラメータに変換す
る。コマンド行パラメータが変換された後、ブロック2
10でファイル名を変換し、それによってターゲット・
コンピュータ・システムがソースと、インクルード・フ
ァイルやヘッダ・ファイルなどのその他のファイルに開
発コンピュータ・システムから直接アクセスすることが
できるようにする。次にブロック212でコマンド行を
ターゲット・コンピュータ・システムに送ってコンパイ
ルを開始する。
ース・コードをコンパイルすると、制御はブロック21
8に移り、ターゲット・コンパイラ124(図1)が生
成したエラーを取り出す。次にブロック220で図4を
呼出し、ターゲット・システムによって生成されたエラ
ーまたは戻りコードがあればそれを開発環境で使用可能
な形式に変換し、それによってユーザ・インタフェース
104を介して表示することができるようにする。
されたコマンド行パラメータを変換するプロセスのフロ
ーチャートを示す。図3を参照すると、このプロセスに
入った後、ブロック302で最初または次のコマンド行
パラメータを入手し、ブロック304でそれが共通コマ
ンド行パラメータであるかどうかを判断する。共通コマ
ンド行パラメータとは、開発コンピュータ・システムと
ターゲット・コンピュータ・システムの両方で使用可能
なパラメータであり、したがって開発コンピュータ・シ
ステム形式からターゲット・コンピュータ・システム形
式に変換する必要がある。
ット・コンピュータ・システム上でのみ使用可能なコマ
ンド行パラメータを設定することができる。これらのパ
ラメータはそのターゲット・コンピュータ・システム専
用に作成されるため、変換する必要はない。本発明で
は、たとえば、このようなタイプのパラメータを二重括
弧で囲むことによって別にしておく。したがって、共通
パラメータは二重括弧で囲まれているかどうかによって
判別される。
は共通パラメータではなく、したがって、ブロック30
4からブロック312に進み、パラメータから二重括弧
を除去して出力に直接送る。
ック304からブロック306に進み、そのパラメータ
をシステム中間形式に変換する。たとえば、開発システ
ム・コンパイラがマクロソフトのVisual C++
である場合、通常のデバッグ情報を生成するコマンド行
オプションは「/Zi」である。HP−UX C++コ
ンパイラが稼働しているターゲット・コンピュータ・シ
ステム用のこれと同等のオプションは「−g」である。
本発明は「/Zi」デバッグ・オプションを中間形式で
ある「debug」という語に変換し、次に、ターゲッ
トがHP−UXC++である場合にはこの「debu
g」中間形式パラメータを「−g」に変換する。それに
対して、ターゲットがANSI C++コンパイラであ
る場合には、デバッグ・オプションは「−g0」であ
る。この場合、本発明は「debug」中間パラメータ
をANSI C++コンパイラで使用するための「−g
0」パラメータに変換する。
ステム・ユーザ・インタフェースおよび任意の数の異な
るターゲット・コンピュータ・システム・コンパイラと
共に機能することができるため、中間形式を使用するこ
とによってパラメータの変換に必要なコードの量が大幅
に減少する。たとえば、m台の異なる開発コンピュータ
・システムと、n台の異なるターゲット・コンピュータ
・システムでは、中間形式を使用しないとm×n個の異
なるセットの変換コードが必要になる。中間システム形
式を使用することにより、本発明はこれをm+n個に変
え、したがってコードの量が大幅に減少する。
後、次にブロック308でその中間システム形式を特定
のターゲット・コンピュータ・システム形式に変換す
る。パラメータを変換した後、そのパラメータが共通パ
ラメータではなかった場合、制御はブロック310に渡
り、変換するパラメータがまだあるかどうかを判断し、
ある場合には、ブロック310からブロック302に戻
り、次のパラメータを変換する。すべてのパラメータが
変換された後、ブロック310から図2に戻る。
び出される変換エラー・ルーチンのフローチャートを示
す。図4を参照すると、このルーチンに入った後、ブロ
ック402で、変換する最初または次のエラー・メッセ
ージを入手する。次にブロック404で、そのエラー・
メッセージからコンパイラ・ステージ名、すなわちエラ
ーを生成した特定のコンパイラ・ステージの名前を取り
出す。たとえば、エラーはコンパイラ、リンカ、または
プリプロセッサによって生成された可能性がある。コン
パイラ・ステージ名を取り出した後、次にブロック40
6でエラーを引き起こしたソース・ファイルのファイル
名を取り出し、ブロック408で、ファイル内のエラー
が発生した行番号または列番号を取り出す。次にブロッ
ク410で、エラー・タイプと、エラーID、たとえば
コンパイラが特定のタイプのエラーを識別するために使
用する内部タグを取り出す。ブロック410ではユーザ
に戻すエラーのテキストも取り出す。次にブロック41
2で、取り出されたデータから、前述のコマンド行パラ
メータの変換のために中間形式を使用するのと同じ方式
で、中間形式のエラー・メッセージを作成する。次にブ
ロック414で、その中間形式のエラー・メッセージを
開発コンピュータ・システムで受け入れられる形式に変
換する。次にブロック416で、変換するエラー・メッ
セージがまだあるかどうかを判断し、ある場合には、ブ
ロック402に戻って次のエラー・メッセージを処理す
る。すべてのエラー・メッセージが処理された後、ブロ
ック416から図2に戻る。
例について説明したが、当業者なら、特許請求の範囲に
記載の本発明の範囲から逸脱することなく、本発明の構
成ならびに回路の多くの変更および大きく異なる実施態
様ならびに適用例が考えられることがわかるであろう。
本明細書の開示および説明は、例示的なものであり、特
許請求の範囲に定義されている本発明をいかなる意味で
も限定しない。
が、以下、本発明の各実施態様の例を示す。
ム(102)上で開発されたコードをターゲット・コン
ピュータ・システム(120)上でコンパイルする方法
であって、(a)前記開発コンピュータ・システム上で
コンパイル・コマンドをインターセプトするステップ
(202)と、(b)コンパイル・パラメータを前記タ
ーゲット・コンピュータ・システム上で使用可能な形式
に変換するステップ(208)と、(c)前記ステップ
(b)で変換された前記パラメータを含むコンパイル・
コマンドを前記ターゲット・コンピュータ・システムに
送って(212)前記コードをコンパイルするステップ
と、(d)前記ターゲット・コンピュータ・システムで
生成されたエラー・メッセージを前記開発コンピュータ
・システム上で使用可能な形式に変換するステップ(2
20)と、(e)前記開発コンピュータ・システム上の
前記コンパイルの結果を表示するステップ(108)と
を含む方法。
(b1)前記コンパイル・パラメータをコンピュータ・
システム中間形式に変換するステップ(306)と、
(b2)前記コンパイル・パラメータを前記コンピュー
タ・システム中間形式から前記ターゲット・コンピュー
タ・システム上で使用可能な前記形式に変換するステッ
プ(308)とをさらに含むことを特徴とする、実施態
様1に記載の方法。
(d1)前記エラー・メッセージをコンピュータ・シス
テム中間形式に変換するステップ(412)と、(d
2)前記エラー・メッセージを前記コンピュータ・シス
テム中間形式から前記開発コンピュータ・システム上で
使用可能な前記形式に変換するステップ(414)とを
さらに含むことを特徴とする、実施態様1に記載の方
法。
(c1)前記コンパイル・コマンドが前記コンパイルを
前記開発コンピュータ・システム上で行うように指示し
ている場合、前記開発コンピュータ・システム上でコン
パイラを呼び出して前記ソース・コードをコンパイルす
るステップ(216)をさらに含むことを特徴とする、
実施態様1に記載の方法。
ム上で開発されたコードをターゲット・コンピュータ・
システム上でコンパイルするシステムであって、前記開
発コンピュータ・システム上でコンパイル・コマンドを
インターセプトし、コンパイル・パラメータを前記ター
ゲット・コンピュータ・システム上で使用可能な形式に
変換する変換システム(108)と、前記ソース・コー
ドをコンパイルするように、前記ターゲット・コンピュ
ータ・システムに前記変換システムによって変換された
前記パラメータを含むコンパイル・コマンドを送るコン
ピュータ・システム・ネットワーク(110)と、前記
変換システム内で、前記ターゲット・コンピュータ・シ
ステム上での前記コンパイル・コマンドの実行によって
生成されたエラー・メッセージを前記開発コンピュータ
・システム上で使用可能な形式に変換する手段(20
8)と、前記開発コンピュータ・システム上で前記コン
パイルの結果を表示する表示システム(108)とを含
むシステム。
る前記変換が、前記コンパイル・パラメータをコンピュ
ータ・システム中間形式に変換する手段(306)と、
前記コンパイル・パラメータを前記コンピュータ・シス
テム中間形式から前記ターゲット・コンピュータ・シス
テム上で使用可能な前記形式に変換する手段(308)
とをさらに含むことを特徴とする、実施態様5に記載の
システム。
エラー・メッセージをコンピュータ・システム中間形式
に変換する手段(412)と、前記エラー・メッセージ
を前記コンピュータ・システム中間形式から前記開発コ
ンピュータ・システム上で使用可能な前記形式に変換す
る手段(414)とをさらに含むことを特徴とする、実
施態様5に記載のシステム。
ム(102)上で開発されたコードをターゲット・コン
ピュータ・システム(120)上でコンパイルするため
のコンピュータ・プログラムを記録した記録媒体であっ
て、(a)前記開発コンピュータ・システム上でコンパ
イル・コマンドをインターセプトし(202)、(b)
コンパイル・パラメータを前記ターゲット・コンピュー
タ・システム上で使用可能な形式に変換し(208)、
(c)前記ステップ(b)で変換された前記パラメータ
を含むコンパイル・コマンドを前記ターゲット・コンピ
ュータ・システムに送って(212)前記コードをコン
パイルし、(d)前記ターゲット・コンピュータ・シス
テムで生成されたエラー・メッセージを前記開発コンピ
ュータ・システム上で使用可能な形式に変換し(22
0)、(e)前記開発コンピュータ・システム上の前記
コンパイルの結果を表示する(108)ことを特長とす
るプログラムを記録した記録媒体。
(b1)前記コンパイル・パラメータをコンピュータ・
システム中間形式に変換し(306)、(b2)前記コ
ンパイル・パラメータを前記コンピュータ・システム中
間形式から前記ターゲット・コンピュータ・システム上
で使用可能な前記形式に変換する(308)ことをさら
に含むことを特徴とする、実施態様8に記載のプログラ
ムを記録した記録媒体。
(d1)前記エラー・メッセージをコンピュータ・シス
テム中間形式に変換し(412)、(d2)前記エラー
・メッセージを前記コンピュータ・システム中間形式か
ら前記開発コンピュータ・システム上で使用可能な前記
形式に変換する(414)ことをさらに含むことを特徴
とする、実施態様8に記載のプログラムを記録した記録
媒体。
(c1)前記コンパイル・コマンドが前記コンパイルを
前記開発コンピュータ・システム上で行うように指示し
ている場合、前記開発コンピュータ・システム上でコン
パイラを呼び出して前記ソース・コードをコンパイルす
る(216)ことをさらに含むことを特徴とする、実施
態様8に記載のプログラムを記録した記録媒体。
のコンピュータ・システム上でのコードの開発を可能に
すると同時に、もう一つのコンピュータ・システムまた
は複数のコンピュータ・システムをターゲット・システ
ムとすることができる。さらに、コードをターゲット・
コンピュータ・システムに送ってコンパイルし、それに
よってクロス・コンパイラを不要にすることができる。
さらに、開発コンピュータ・システムの環境を維持する
と同時に、複数のターゲット・コンピュータ・システム
用のコードを開発することができる。
ンピュータ・システムと、それらの接続を示すブロック
図である。
ソフトウェアのフローチャートである。
トである。
ーチャートである。
Claims (1)
- 【請求項1】開発コンピュータ・システム上で開発され
たコードをターゲット・コンピュータ・システム上でコ
ンパイルする方法であって、 (a)前記開発コンピュータ・システム上でコンパイル
・コマンドをインターセプトするステップと、 (b)コンパイル・パラメータを前記ターゲット・コン
ピュータ・システム上で使用可能な形式に変換するステ
ップと、 (c)前記ステップ(b)で変換された前記パラメータ
を含むコンパイル・コマンドを前記ターゲット・コンピ
ュータ・システムに送って前記コードをコンパイルする
ステップと、 (d)前記ターゲット・コンピュータ・システムで生成
されたエラー・メッセージを前記開発コンピュータ・シ
ステム上で使用可能な形式に変換するステップと、 (e)前記開発コンピュータ・システム上の前記コンパ
イルの結果を表示するステップとを含む方法。
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)
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)
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)
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 |
-
1996
- 1996-11-26 US US08/757,034 patent/US5881289A/en not_active Expired - Fee Related
-
1997
- 1997-07-10 DE DE19729603A patent/DE19729603A1/de not_active Withdrawn
- 1997-11-25 JP JP9322537A patent/JPH10161885A/ja not_active Withdrawn
- 1997-11-26 GB GB9725011A patent/GB2321731B/en not_active Expired - Fee Related
Cited By (4)
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 |