DE19729603A1 - Fernkompilierung eines Quellencodes für eine Querentwicklung - Google Patents
Fernkompilierung eines Quellencodes für eine QuerentwicklungInfo
- Publication number
- DE19729603A1 DE19729603A1 DE19729603A DE19729603A DE19729603A1 DE 19729603 A1 DE19729603 A1 DE 19729603A1 DE 19729603 A DE19729603 A DE 19729603A DE 19729603 A DE19729603 A DE 19729603A DE 19729603 A1 DE19729603 A1 DE 19729603A1
- Authority
- DE
- Germany
- Prior art keywords
- computer system
- format
- development
- target
- converting
- 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)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Description
Diese Erfindung bezieht sich auf Computersysteme und insbe
sondere auf das Kompilieren eines Quellencodes in derartigen
Computersystemen. Spezieller bezieht sich die Erfindung auf
das entfernte Kompilieren eines Quellencodes auf einem Ziel
computer.
Software wird häufig unter Verwendung mehrerer Typen von
Computersystemen entwickelt. Beispielsweise besitzen große
Organisationen Mainframe-Computer, Workstation-Computer Ab
teilungs-Server-Computer und Personalcomputer, die durch
einzelne Personen in der Organisation verwendet werden. Ob
wohl diese Mannigfaltigkeit eine enorme Flexibilität ermög
licht, um Preis- und Verhaltens-Anforderungen für verschie
dene Rechenfunktionen zu erfüllen, fügt dieselbe dem Anwen
dungsentwicklungsprozeß eine Komplexität hinzu.
Viele Entwicklungsorganisationen benötigen ein UnixTM-System
auf dem Schreibtisch eines Ingenieurs zur Softwareentwick
lung, und einen Personalcomputer auf dem gleichen Schreib
tisch für Büroautomatisationsaufgaben. Dies verdoppelt die
Kosten pro Ingenieur für die Organisation effektiv. Überdies
müssen alle diese Computersysteme betreut werden, was die
Anzahl der Betreuungstrainings- und Systemadministrations-
Belegschaft, die von der Organisation benötigt wird, weiter
erhöht. Dies erhöht ferner die Trainingsmenge für Entwick
ler, die notwendig ist, um mehrere Entwicklungsumgebungen zu
verwenden, und für die neue Technologie.
Bei bekannten Systemen existieren, wenn Software für ein
spezielles Zielcomputersystem entwickelt werden muß, zwei
Optionen. Die erste Option besteht darin, die Software auf
dem Zielcomputersystem unter Verwendung existierender Text
editoren, Kompiler usw. für das Zielcomputersystem zu ent
wickeln. Dies funktioniert sehr gut, wenn der Code nur für
ein Zielcomputersystem entwickelt wird. Wenn jedoch ein Code
entwickelt werden muß, der auf mehreren Zielcomputersystemen
läuft, ist es erforderlich, daß jedes dieser Computersysteme
für den Entwickler zugreifbar ist. Für die effizienteste
Verwendung der Entwicklerzeit muß jedes dieser Zielcomputer
systeme ferner auf dem Schreibtisch des Entwicklers vorlie
gen, was aufwendig und manchmal schwierig einzurichten ist.
Eine Schwierigkeit bei der Entwicklung auf mehreren unter
schiedlichen Computersystemen besteht darin, daß der Ent
wickler die Umgebung von jedem der Zielcomputersysteme ler
nen muß. Dies ist zeitaufwendig, wobei, wenn ein Entwickler
häufig zwischen unterschiedlichen Umgebungen wechselt, dies
sehr verwirrend werden kann. Ferner muß der Quellencode für
das Projekt ebenfalls zu jeder Umgebung bewegt werden, wobei
dies in einigen Fällen schwierig oder unmöglich ist.
Eine zweite Option, die verfügbar ist, wenn ein Code für ein
Zielcomputersystem entwickelt wird, besteht darin, einen
Querkompiler zu verwenden, was ein Kompiler ist, der auf ei
nem Computersystem arbeitet, jedoch einen ausführbaren Pro
grammiercode für einen zweiten Computersystemtyp erzeugt.
Dies kann die einzige Option sein, wenn das Zielcomputersy
stem zu klein ist, um einen in demselben enthaltenen Editor
oder Kompiler aufzuweisen. Wenn das Zielcomputersystem
selbst ein größeres Computersystem ist, sind Querkompiler
häufig nicht verfügbar, so daß diese Option nicht möglich
ist.
In der Technik besteht ein Bedarf nach einem System, das die
Entwicklung eines Codes auf einem Computersystem ermöglicht,
während derselbe auf ein zweites Computersystem oder mehr
als ein Computersystem abzielt. Es existiert ein weiterer
Bedarf in der Technik nach einem solchen System, das den Co
de, der kompiliert werden soll, zu dem Zielcomputersystem
sendet, wodurch der Bedarf nach einem Querkompiler beseitigt
ist. Ein weiterer Bedarf existiert nach einem System, das
die Benutzerumgebung des Entwicklungscomputersystems beibe
hält, während ein Code für mehr als ein Zielcomputersystem
entwickelt wird. Die vorliegende Erfindung erfüllt diese und
weitere Bedürfnisse auf dem Gebiet der Technik.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein
flexibles Verfahren und eine flexible Vorrichtung zum Kompi
lieren eines Codes auf einem Zielcomputersystem zu schaffen.
Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und
eine Vorrichtung gemäß Anspruch 5 gelöst.
Ein Vorteil der vorliegenden Erfindung besteht darin, einen
Quellencode oder einen Verknüpfungsobjektcode, der auf einem
Entwicklungscomputersystem entwickelt wird, entfernt auf ei
nem Zielcomputersystem zu kompilieren.
Ein weiterer Vorteil der Erfindung besteht darin, Kompiler-
oder Verknüpfer-Parameter aus der Entwicklungscomputersy
stem-Syntax in die Zielcomputersystem-Syntax zu übersetzen.
Ein weiterer Vorteil der Erfindung besteht darin, Fehlermel
dungen und Rückgabecodes, die durch den Zielcomputersystem-
Kompiler und -Verknüpfer ausgegeben werden, in ein Format zu
übersetzen, das auf dem Entwicklungscomputersystem verwend
bar ist.
Die obigen und weitere Aspekte der Erfindung werden in einem
System erreicht, das auf einem Entwicklungscomputersystem
läuft und Befehle über ein Netzwerk zu einem Zielcomputer
system sendet, um zu bewirken, daß das Zielcomputersystem
einen Code kompiliert, der auf dem Entwicklungscomputersy
stem entwickelt wurde. Das System ersetzt den Kompiler auf
dem Entwicklungscomputersystem durch einen Laufkontrollab
schnitt (RUNSTUB), der den Befehl unterbricht, um den Code
auf dem Entwicklungscomputersystem zu kompilieren oder zu
verknüpfen. Wenn der Code auf einem Zielcomputersystem kom
piliert oder verknüpft werden soll, wandelt das System sämt
liche Befehlszeilen-Kompiler- oder Verknüpfer-Parameter in
ein neutrales Parameterformat um, sendet den umgewandelten
Befehl über das Netzwerk zu dem Zielcomputersystem und wan
delt dann den Befehl in ein Format um, das auf dem Zielcom
putersystem verwendbar ist.
Wenn während des Kompilierens oder Verknüpfens Fehler er
zeugt werden, wandelt das System die Fehlermeldungen, die
durch den Kompiler oder Verknüpfer auf dem Zielcomputersy
stem erzeugt werden, in ein neutrales Format um und nachfol
gend in ein Format, das durch das Entwicklungscomputersystem
verwendbar ist. Folglich führt ein Entwickler, der das Ent
wicklungscomputersystem verwendet, das Kompilieren oder Ver
knüpfen durch und empfängt Fehlermeldungen, als ob das Kom
pilieren oder Verknüpfen auf dem Entwicklungscomputersystem
durchgeführt werden würde, während tatsächlich das wirkliche
Kompilieren oder Verknüpfen auf dem Zielcomputersystem
durchgeführt wurde.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
werden nachfolgend bezugnehmend auf die beiliegenden Zeich
nungen näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm des Entwicklungs- und des Ziel-
Computersystems und die Verbindungen derselben;
Fig. 2 ein Flußdiagramm der Laufkontrollabschnittssoftware
in dem Entwicklungscomputersystem;
Fig. 3 ein Flußdiagramm des Prozesses des Umwandelns von
Parametern; und
Fig. 4 ein Flußdiagramm des Prozesses des Umwandelns von
Fehlermeldungen.
Die folgende Beschreibung betrifft die gegenwärtig als am
besten betrachtete Art des Durchführens der Erfindung. Diese
Beschreibung soll nicht in einem begrenzenden Sinn verwendet
werden, sondern dient lediglich dem Zweck der Beschreibung
der allgemeinen Grundsätze der Erfindung. Der Bereich der
Erfindung sollte durch Bezugnahme auf die beigefügten An
sprüche bestimmt werden.
Fig. 1 zeigt ein Blockdiagramm des Entwicklungs- und des
Ziel-Computersystems der vorliegenden Erfindung. Wie in Fig.
1 gezeigt ist, weist ein Entwicklungscomputersystem 102 eine
Benutzerschnittstelle 104 auf, die die Software der Entwick
lungsumgebung ist. Beispielsweise würde die Benutzerschnitt
stelle 104 typischerweise einen Texteditor, einen Kompiler,
einen Verknüpfer usw. aufweisen, d. h. das, was üblicherweise
als eine integrierte Entwicklungsumgebung bezeichnet wird.
Die integrierte Entwicklungsumgebung Visuel C++ von Micro
soft ist ein Beispiel einer integrierten Entwicklungsumge
bung, die mit der vorliegenden Erfindung arbeitet. Microsoft
Visual C++ verwendet ein Entwicklerstudio (Developer Studio)
als eine Komponente, die Dateisammlungen und Kompilerein
stellungen verwaltet. Wenn das Entwicklerstudio (Developer
Studio) hochfährt, fährt dasselbe auf einem Arbeitsraum
hoch, der aus einer Sammlung von Projekten besteht. Ein Pro
jekt besteht aus einem einzelnen Satz von Dateien und einem
Satz von einer oder mehreren Projektkonfigurationen. Benut
zer können ohne weiteres Dateien unter Verwendung der gra
phischen Benutzerschnittstellenmerkmale (GUI-Merkmale; GUI =
graphical user interface) des Entwicklerstudios zu einem
Projekt hinzufügen oder von demselben entfernen. Eine Konfi
guration spezifiziert die Einstellungen des Kompilers, des
Verknüpfers und eines Testers (Debugger), die die endgültige
Ausgabe für einen Projektaufbau bestimmen. Diese Einstellun
gen umfassen die Optimierung oder den Testpegel für den Kom
piler, Bibliotheken, die durch den Verknüpfer (Linker) ge
sucht werden sollen, Hochfahroptionen für das Programm, wenn
dasselbe getestet wird, und viele andere Einstellungen. Der
Benutzer muß eine einzelne Konfiguration für jeden speziel
len Aufbau eines Projekts spezifizieren. Das Ändern einer
Konfiguration ist eine einfache Art und Weise, eine neue
Konfiguration aus einer Balkenliste (pull down list) von
verfügbaren Konfigurationen auszuwählen. Das Erzeugen einer
Konfiguration ist ähnlich einfach. In einer Konfiguration
kann ein Benutzer das Zielcomputersystem, auf dem das Kompi
lieren stattfinden soll, spezifizieren.
Unter Verwendung der Benutzerschnittstelle 104 erzeugt ein
Entwickler eine Quellencodedatei, die auf einer Platte 106
gespeichert wird, die gemeinsam mit einem Zielcomputersystem
120 verwendet wird. Wenn der Benutzer der Benutzerschnitt
stelle anzeigt, daß eine Kompilierung oder Verknüpfung
stattfinden soll, ruft die Benutzerschnittstelle das Kompi
ler- oder Verknüpfer-Programm, das in dem Entwicklungscompu
tersystem enthalten ist, auf. Gemäß der vorliegenden Erfin
dung wurden der Kompiler und der Verknüpfer jedoch in neue
Namen umbenannt, wobei der ursprüngliche Kompiler/Verknüp
fer-Name ebenfalls in RUNSTUB 108 (Laufkontrollabschnitt)
umbenannt wurde, um die Kompilier- und Verknüpfungs-Befehle
zu unterbrechen. Wenn die Benutzerschnittstelle 104 ver
sucht, den Kompiler oder Verknüpfer aufzurufen, ruft daher
das Entwicklungscomputersystem statt dessen RUNSTUB 108 auf.
RUNSTUB 108 untersucht die Konfiguration, wobei, wenn der
Code auf dem Zielcomputersystem kompiliert oder verknüpft
werden soll, RUNSTUB 108 über ein Netzwerk mit einer Ziel
schnittstelle 122 in dem Zielcomputersystem 120 kommuni
ziert. Die Kommunikation über das Netzwerk 110 bewirkt, daß
die Zielschnittstelle 122 einen Ziel-Kompiler oder -Verknüp
fer 124 in dem Zielcomputersystem aufruft, um die Quelle,
oder die Verknüpfungsobjekte, die in der Benutzerschnitt
stelle 104 des Entwicklungscomputersystems 102 identifiziert
ist oder sind, zu kompilieren.
Vor dem Aufrufen des Zielkompilers übersetzt RUNSTUB 108 al
le Parameter aus dem Format des Entwicklungscomputersystems
in ein neutrales Format und sendet die Neutralformatparame
ter über das Netzwerk, wo die Zielschnittstelle 122 diesel
ben aus dem neutralen Format in ein Format, das auf dem
Zielcomputersystem 120 verwendbar ist, umwandelt. Fachleute
auf dem Gebiet werden jedoch erkennen, daß entweder RUNSTUB
108 oder die Zielschnittstelle 122 die gesamte Übersetzung
von dem Entwicklungssystemformat in das Zielsystemformat
durchführen könnten.
Zusätzlich übersetzt RUNSTUB 108 Dateinamen, so daß der
Zielkompiler 124 auf den Quellencode auf der Platte 106 über
das Netzwerk 110 zugreifen kann.
Da der Zielkompiler 124 den Quellencode kompiliert, kann
derselbe Fehlermeldungen und Rückgabecodes erzeugen, wobei
diese durch das Netzwerk 110 übertragen werden. Die Ziel
schnittstelle 122 übersetzt die Rückgabecodes oder Fehler
meldungen in ein neutrales Format, wobei RUNSTUB 108 die
Neutralformat-Fehlermeldungen in ein Format übersetzt, das
durch die Benutzerschnittstelle 104 verwendbar ist. Auf die
se Weise erscheint die Kompilierung als ob dieselbe auf dem
Entwicklungscomputersystem kompiliert worden wäre, was für
einen Benutzer des Entwicklungscomputersystems die bequemste
Form ist.
Fig. 2 zeigt ein Flußdiagramm der RUNSTUB-Software 108. Be
zugnehmend auf Fig. 2 erhält nach dem Eintritt ein Block 202
die Befehlszeilenparameter, die von der Benutzerschnittstel
le 104 (Fig. 1) übertragen werden. Ein Block 204 bestimmt
dann, ob die Befehlszeilenparameter einen Parameter aufwei
sen, der anzeigt, wo der Zielaufbau stattfinden soll, wobei,
wenn der Zielaufbau auf dem lokalen Computersystem stattfin
den soll, der Block 204 die Steuerung zu einem Block 216
überträgt, der gemäß der Anforderung durch die Befehlszei
lenparameter den lokalen Entwicklungs-Kompiler oder -Ver
knüpfer aufruft.
Wenn der Aufbau auf dem Zielcomputersystem stattfinden soll,
springt der Block 204 zu einem Block 206, der die Zielüber
setzungsparametertabelle von der Platte 106 (Fig. 1) erhält
und dann den Block 208, Fig. 3, aufruft, um die Befehlszei
lenparameter in Parameter zu übersetzen, die durch das Ziel
computersystem verwendbar sind. Nachdem die Befehlszeilenpa
rameter übersetzt sind, übersetzt ein Block 210 den Dateina
men derart, daß das Zielcomputersystem auf die Quelle und
alle anderen Dateien, beispielsweise Einschluß- oder An
fangsblock-Dateien, direkt von dem Entwicklungscomputersy
stem zugreifen kann. Ein Block 212 sendet dann die Befehls
zeile zu dem Zielcomputersystem, um die Kompilierung zu
starten.
Während das Zielcomputersystem den Quellencode kompiliert,
springt die Steuerung zu einem Block 218, der die Fehler
wiedergewinnt, die durch den Zielkompiler 124 (Fig. 1) er
zeugt werden. Ein Block 220 ruft dann Fig. 4 auf, um alle
Fehler oder Rückgabecodes, die durch das Zielsystem erzeugt
wurden, in ein Format zu übersetzen, das durch die Entwick
lungsumgebung verwendbar ist, so daß dieselben durch die Be
nutzerschnittstelle 104 angezeigt werden können.
Fig. 3 zeigt ein Flußdiagramm des Verfahrens zum Übersetzen
von Befehlszeilenparametern, die von dem Block 208 von Fig.
2 aufgerufen werden. Wie in Fig. 3 gezeigt ist, erhält nach
dem Eintritt ein Block 302 den ersten oder nächsten Befehl
zeilenparameter, wobei ein Block 304 bestimmt, ob derselbe
ein gemeinsamer Befehlszeilenparameter ist. Befehlszeilenpa
rameter sind solche, die sowohl in dem Entwicklungscompu
tersystem als auch dem Zielcomputersystem verfügbar sind,
und folglich von dem Entwicklungscomputersystem-Format in
das Zielcomputersystem-Format übersetzt werden müssen.
Die vorliegende Erfindung ermöglicht es jedoch, daß ein Be
nutzer Befehlszeilenparameter einstellt, die nur auf einem
speziellen Zielcomputersystem verfügbar sind. Da diese Para
meter speziell für das Zielcomputersystem erzeugt werden,
müssen dieselben nicht übersetzt werden. Bei der vorliegen
den Erfindung werden, ausschließlich beispielsweise, diese
Parametertypen außer Acht gelassen, indem dieselben in Dop
pelklammern eingehüllt werden. Folglich werden die gemeinsa
men Parameter dadurch bestimmt, ob dieselben von doppelten
Klammern umgeben sind oder nicht.
Wenn der Parameter durch Doppelklammern umgeben ist, ist er
kein gemeinsamer Parameter, so daß der Block 304 zu einem
Block 312 springt, der die Doppelklammern von dem Parameter
beseitigt und denselben direkt zu dem Ausgang sendet.
Wenn der Parameter ein gemeinsamer Parameter ist, springt
der Block 304 zu einem Block 306, der den Parameter in ein
System-neutrales Format umwandelt. Wenn der Entwicklungssy
stemkompiler beispielsweise Microsoft Visual C++ ist, ist
die Befehlzeilenoption, um normale Testinformationen (de
bugging information) zu erzeugen, "/Zi". Die äquivalente
Option für ein Zielcomputersystem, das einen Kompiler HP-UX
C++ durchführt, "-g". Die vorliegende Erfindung wandelt die
Testoption "/Zi" in das Wort "debug" als einem neutralen
Format um, und wandelt nachfolgend den Neutralformatparame
ter "debug" in "-g" um, wenn das Ziel HP-UX C++ ist. Wenn
andererseits das Ziel ein Kompiler ANSI C++ sein soll, lau
tet die Testoption (debug option) "-g0". In diesem Fall wür
de die Erfindung den Neutralparameter "debug" in den Para
meter "-g0" für die Verwendung durch den ANSI C++-Kompiler
umwandeln.
Da die vorliegende Erfindung mit jeder Anzahl von Entwick
lungscomputersystem-Benutzerschnittstellen arbeiten kann,
ebenso wie mit jeder Anzahl von unterschiedlichen Zielcompu
tersystem-Kompilern, reduziert die Verwendung des neutralen
Formats den Codebetrag, der bei der Übersetzung der Parame
ter anfällt, beträchtlich. Beispielsweise würde bei m unter
schiedlichen Entwicklungscomputersystemen und n unterschied
lichen Zielcomputersystemen das System ohne Verwendung des
neutralen Formats m × n unterschiedliche Sätze von Überset
zungscodes benötigen. Durch die Verwendung des neutralen Sy
stemformats ändert die vorliegende Erfindung dies auf m + n,
wodurch der Codebetrag beträchtlich reduziert wird.
Nach dem Umwandeln des Parameters in das neutrale Systemfor
mat wandelt ein Block 308 das neutrale Systemformat in das
spezielle Zielcomputersystem-Format um. Nach dem Umwandeln
des Parameters, oder wenn der Parameter kein gemeinsamer Pa
rameter war, springt die Steuerung zu einem Block 310, der
bestimmt, ob weitere Parameter umgewandelt werden sollen,
wobei, wenn dies der Fall ist, der Block 310 die Steuerung
zu dem Block 302 zurückgibt, um den nächsten Parameter umzu
wandeln. Nachdem alle Parameter umgewandelt wurden, springt
der Block zu Fig. 2 zurück.
Fig. 4 zeigt das Flußdiagramm der Fehlerübersetzungsroutine,
die durch den Block 220 von Fig. 2 aufgerufen wird. Wie in
Fig. 4 gezeigt ist, erhält nach dem Eintritt ein Block 402
die erste oder die nächste Fehlermeldung, die umgewandelt
werden soll. Der Block 404 extrahiert dann den Kompiler-Stu
fennamen aus der Fehlermeldung, d. h. den Namen der speziel
len Kompilerstufe, die den Fehler erzeugte. Beispielsweise
könnte der Fehler durch einen Kompiler oder einen Verknüpfer
oder einen Vorprozessor erzeugt worden sein. Nach dem Extra
hieren des Kompilerstufennamens extrahiert dann ein Block
406 den Dateinamen der Quellendatei, die den Fehler bewirk
te, während ein Block 408 die Zeilen- und Spalten-Nummer in
der Datei, an der der Fehler auftrat, extrahiert. Ein Block
410 extrahiert dann den Fehlertyp, die Fehler-ID, beispiels
weise eine interne Kennung, die der Kompiler verwendet, um
den speziellen Fehlertyp zu identifizieren, wobei der Block
410 ferner den Fehlertext extrahiert, der zu dem Benutzer
zurückgeleitet werden soll. Ein Block 412 erzeugt dann eine
Neutralformat-Fehlermeldung aus den extrahierten Daten, auf
die gleiche Art und Weise, auf die das neutrale Format ver
wendet wird, um Befehlszeilenparameter umzuwandeln, wie oben
beschrieben wurde. Ein Block 414 wandelt dann die Neutral
format-Fehlermeldung in das Format um, das auf dem Entwick
lungscomputersystem angenommen werden kann. Ein Block 416
bestimmt dann, ob weitere Fehlermeldungen, die umgewandelt
werden sollen, existieren, wobei, wenn dies der Fall ist,
die Steuerung zum Block 402 zurückspringt, um die nächste
Fehlermeldung zu verarbeiten. Nachdem alle Fehlermeldungen
verarbeitet wurden, springt der Block 416 zu Fig. 2 zurück.
Claims (7)
1. Verfahren zum Kompilieren eines Codes auf einem Ziel
computersystem (120), wobei der Code auf einem Entwick
lungscomputersystem (102) entwickelt wurde, mit folgen
den Schritten:
- (a) Unterbrechen eines Kompilierbefehls auf dem Ent wicklungscomputersystem (202);
- (b) Umwandeln der Kompilierparameter in ein Format, das auf dem Zielcomputersystem (208) verwendbar ist;
- (c) Senden eines Kompilierbefehls (212) zu dem Ziel computersystem, um den Code zu kompilieren, wobei der Kompilierbefehl die Parameter enthält, die im Schritt (b) umgewandelt wurden;
- (d) Umwandeln aller Fehlermeldungen (220), die auf dem Zielcomputersystem erzeugt werden, in ein Format, das auf dem Entwicklungscomputersystem verwendbar ist; und
- (e) Anzeigen der Ergebnisse (108) der Kompilierung auf dem Entwicklungscomputersystem.
2. Verfahren gemäß Anspruch 1, bei dem der Schritt (b)
ferner folgende Schritte aufweist:
- (b1) Umwandeln (306) der Kompilierparameter in ein
Computersystem-neutrales Format; und
(b2) Umwandeln (308) der Kompilierparameter aus dem Computersystem-neutralen Format in das Format, das auf dem Zielcomputersystem verwendbar ist.
3. Verfahren gemäß Anspruch 1 oder 2, bei dem der Schritt
(d) ferner folgende Schritte aufweist:
- (d1) Umwandeln (412) der Fehlermeldungen in ein Compu
tersystem-neutrales Format; und
(d2) Umwandeln (414) der Fehlermeldungen aus dem Com putersystem-neutralen Format in das Format, das auf dem Entwicklungscomputersystem verwendbar ist.
4. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem
der Schritt (c) ferner folgenden Schritt aufweist:
- (c1) wenn der Kompilierbefehl anzeigt, daß die Kompi lierung auf dem Entwicklungscomputersystem durch geführt werden soll, Aufrufen (216) eines Kompi lers auf dem Entwicklungscomputersystem, um den Quellencode zu kompilieren.
5. Eine Vorrichtung zum Kompilieren eines Codes auf einem
Zielcomputersystem (120), wobei der Code auf einem Ent
wicklungscomputersystem (102) entwickelt wurde, mit
folgenden Merkmalen:
einem Übersetzungssystem (108) zum Unterbrechen eines Kompilierbefehls auf dem Entwicklungscomputersystem (102) und zum Umwandeln von Kompilierparametern in ein Format, das auf dem Zielcomputersystem (120) verwendbar ist;
einem Computersystemnetzwerk (110) zum Senden eines Kompilierbefehls zu dem Zielcomputersystem (120), um den Quellencode zu kompilieren, wobei der Kompilierbe fehl die Parameter enthält, die durch das Übersetzungs system (108) umgewandelt wurden;
einer Einrichtung in dem Übersetzungssystem (108) zum Umwandeln aller Fehlermeldungen, die durch die Ausfüh rung des Kompilierbefehls auf dem Zielcomputersystem erzeugt werden, in ein Format, das auf dem Entwick lungscomputersystem (102) verwendbar ist; und
einem Anzeigesystem zum Anzeigen der Ergebnisse des Kompilierens auf dem Entwicklungscomputersystem (102).
einem Übersetzungssystem (108) zum Unterbrechen eines Kompilierbefehls auf dem Entwicklungscomputersystem (102) und zum Umwandeln von Kompilierparametern in ein Format, das auf dem Zielcomputersystem (120) verwendbar ist;
einem Computersystemnetzwerk (110) zum Senden eines Kompilierbefehls zu dem Zielcomputersystem (120), um den Quellencode zu kompilieren, wobei der Kompilierbe fehl die Parameter enthält, die durch das Übersetzungs system (108) umgewandelt wurden;
einer Einrichtung in dem Übersetzungssystem (108) zum Umwandeln aller Fehlermeldungen, die durch die Ausfüh rung des Kompilierbefehls auf dem Zielcomputersystem erzeugt werden, in ein Format, das auf dem Entwick lungscomputersystem (102) verwendbar ist; und
einem Anzeigesystem zum Anzeigen der Ergebnisse des Kompilierens auf dem Entwicklungscomputersystem (102).
6. Vorrichtung gemäß Anspruch 5, bei dem die Umwandlungs
einrichtung in dem Übersetzungssystem ferner folgende
Merkmale aufweist:
eine Einrichtung (306) zum Umwandeln der Kompilierpara meter in ein Computersystem-neutrales Format; und
eine Einrichtung (308) zum Umwandeln der Kompilierpara meter aus dem Computersystem-neutralen Format in das Format, das auf dem Zielcomputersystem verwendbar ist.
eine Einrichtung (306) zum Umwandeln der Kompilierpara meter in ein Computersystem-neutrales Format; und
eine Einrichtung (308) zum Umwandeln der Kompilierpara meter aus dem Computersystem-neutralen Format in das Format, das auf dem Zielcomputersystem verwendbar ist.
7. Vorrichtung gemäß Anspruch 5 oder 6, bei dem das Über
setzungssystem ferner folgende Merkmale aufweist:
eine Einrichtung (412) zum Umwandeln der Fehlermeldun gen in ein Computersystem-neutrales Format; und
eine Einrichtung (414) zum Umwandeln der Fehlermeldun gen aus dem Computersystem-neutralen Format in das For mat, das auf dem Entwicklungscomputersystem (102) ver wendbar ist.
eine Einrichtung (412) zum Umwandeln der Fehlermeldun gen in ein Computersystem-neutrales Format; und
eine Einrichtung (414) zum Umwandeln der Fehlermeldun gen aus dem Computersystem-neutralen Format in das For mat, das auf dem Entwicklungscomputersystem (102) ver wendbar ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
---|---|
DE19729603A1 true DE19729603A1 (de) | 1998-05-28 |
Family
ID=25046087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19729603A Withdrawn DE19729603A1 (de) | 1996-11-26 | 1997-07-10 | Fernkompilierung eines Quellencodes für eine Querentwicklung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5881289A (de) |
JP (1) | JPH10161885A (de) |
DE (1) | DE19729603A1 (de) |
GB (1) | GB2321731B (de) |
Families Citing this family (29)
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 |
US7155606B1 (en) | 2000-04-12 | 2006-12-26 | Microsoft Corporation | Method and system for accepting preverified information |
WO2001079999A2 (en) * | 2000-04-12 | 2001-10-25 | Microsoft Corporation | Method and system for accepting precompiled 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 |
KR20030089044A (ko) * | 2002-05-15 | 2003-11-21 | 송경섭 | 소스코드모듈 조합 및 웹환경 제공이 가능한 컴파일시스템 및 방법 |
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 |
KR100615450B1 (ko) | 2004-12-13 | 2006-08-28 | 한국전자통신연구원 | 임베디드 시스템의 툴체인 구성 및 실행 방법, 그리고 이를이용한 이동 단말 장치 |
JP4734030B2 (ja) * | 2005-05-27 | 2011-07-27 | 株式会社リコー | 管理システム |
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
Also Published As
Publication number | Publication date |
---|---|
GB2321731A (en) | 1998-08-05 |
US5881289A (en) | 1999-03-09 |
GB9725011D0 (en) | 1998-01-28 |
JPH10161885A (ja) | 1998-06-19 |
GB2321731B (en) | 2001-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19729603A1 (de) | Fernkompilierung eines Quellencodes für eine Querentwicklung | |
DE69900810T2 (de) | Verfahren und Vorrichtung zum Testen von ereignisgesteuerten Programmen | |
DE69415593T2 (de) | Verfahren zur Überprüfung eines nachrichtengesteuerten Betriebssystems | |
DE69226233T2 (de) | Quellenkodeanalysator | |
DE69221041T2 (de) | Verbesserte fehleranzeige bei der ausführung von übersetztem befehlscode | |
DE69423158T2 (de) | Verfahren und Vorrichtung zur Konfiguration von Rechnerprogrammen mit Hilfe verfügbarer Unterprogramme | |
DE69604347T2 (de) | Bestimmung der dynamischen Eigenschaften von Programmen | |
DE69932371T2 (de) | Verschiebbare Instrumentationskennzeichen für die Prüfung und die Fehlerbeseitigung eines Computerprogramms | |
DE60001916T2 (de) | Plattformunabhängige speicherabbild analysearchitektur zur programmfehlerbeseitigung | |
DE69621494T2 (de) | Vorrichtung und Verfahren eines verteilten Fehlerbeseitigers zur Fehlerbeseitigung von verteilten Anwendungsprogrammen | |
US5812436A (en) | Method and apparatus for testing and analyzing the conformance of a proposed set of requirements for a proposed network management application | |
DE69518123T2 (de) | Visualisierung von objektorientierter Software | |
DE69727381T2 (de) | Verfahren zum transportieren von in einer schnittstellendefinitionssprache definierten datenstrukturen zwischen heterogenen systemen | |
DE60017457T2 (de) | Verfahren zur isolierung eines fehlers in fehlernachrichten | |
DE60021066T2 (de) | Prüfung eines Softwarepakets | |
DE69727933T2 (de) | Verfahren und gerät zum beschreiben einer definierten schnittstelle, einer operation und eines datentyps in einer schnittstellendefinitionssprache | |
DE19836333A1 (de) | Software Installation und Testen für ein gemäß einer Bestellung gebautes Computersystem | |
DE69622161T2 (de) | Rechnersystem mit Kontextumschaltung und Programmentwicklung dafür | |
DE69518996T2 (de) | Verfahren und Vorrichtung zur selbstbeschreibenden Datenkodierung | |
DE3842289C2 (de) | Verfahren zur Entwicklung von Programmen für ein verteiltes Datenverarbeitungssystem | |
DE69636141T2 (de) | Rechnerimplementiertes Verfahren zur Bestimmung eines Minimalcodesets für ein ausführbares Programm in einem Datenverarbeitungssystem | |
EP1035707A2 (de) | Verfahren, Erzeugungsmodul, Server, Steuermodul und Speichermittel zum Erstellen von Validierungsregeln | |
EP1038221B1 (de) | Verfahren zur überprüfung der pfadüberdeckung bei software-tests | |
DE102004009676A1 (de) | Verfahren und Systeme zum Erzeugen von Unterstützungsdateien für Befehle | |
DE69427193T2 (de) | Verfahrensauswahl mit mehreren eingangspunkten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE), |
|
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
8130 | Withdrawal |