DE10344847A1 - Verfahren zum Compilieren eines Quellcode-Programms in ein maschinenlesbares Zielobjekt-Programm in einer Netzwerkumgebung - Google Patents

Verfahren zum Compilieren eines Quellcode-Programms in ein maschinenlesbares Zielobjekt-Programm in einer Netzwerkumgebung Download PDF

Info

Publication number
DE10344847A1
DE10344847A1 DE10344847A DE10344847A DE10344847A1 DE 10344847 A1 DE10344847 A1 DE 10344847A1 DE 10344847 A DE10344847 A DE 10344847A DE 10344847 A DE10344847 A DE 10344847A DE 10344847 A1 DE10344847 A1 DE 10344847A1
Authority
DE
Germany
Prior art keywords
server
program
source code
client
compiler
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
DE10344847A
Other languages
English (en)
Inventor
Jörg Dr. Fischer
Matthias Weiss
Paul Schwann
Jörg Unbehaun
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.)
Philips Intellectual Property and Standards GmbH
Original Assignee
Philips Intellectual Property and Standards GmbH
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 Philips Intellectual Property and Standards GmbH filed Critical Philips Intellectual Property and Standards GmbH
Priority to DE10344847A priority Critical patent/DE10344847A1/de
Priority to US10/947,978 priority patent/US20050097531A1/en
Publication of DE10344847A1 publication Critical patent/DE10344847A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Abstract

Um den Zeitaufwand für das Compilieren eines Quellcode-Programms in ein maschinenlesbares Zielobjekt-Programm in einer Netzwerkumgebung zu minimieren, wenn während der Erstellung des Programms gleichzeitig auch der Prozessor weiterentwickelt wird, wird ein Verfahren vorgeschlagen, bei welchem das Compilerprogramm kontinuierlich eine Eingangsschnittstelle des Servers (10) nach einem in diese neu eingeschriebenen Quellcode-Programm abfragt, und ein Client-Programm auf einem Client (20-50) gestartet wird, wobei durch dessen Ablauf ein zu compilierendes Quellcode-Programm in die Eingangsschnittstelle des Servers geschrieben wird und kontinuierlich eine Ausgangsschnittstelle des Servers nach einem in diesen neu eingeschriebenen Zielobjekt-Programm abgefragt wird. Im Ansprechen auf das Erkennen eines in die Eingangsschnittstelle des Servers neu eingeschriebenen Quellcode-Programms wird das Quellcode-Programm eingelesen und in ein Zielobjekt-Programm compiliert, das nachfolgend in die Ausgangsschnittstelle des Servers geschrieben wird. Im Ansprechen auf das Erkennen des in die Ausgangsschnittstelle des Servers geschriebenen Zielobjekt-Programms wird dieses ausgelesen und auf dem Client abgelegt.

Description

  • Die Erfindung betrifft ein Verfahren zum Compilieren eines Quellcode-Programms in ein maschinenlesbares Zielobjekt-Programm in einer Netzwerkumgebung sowie ein entsprechendes Computersystem zur Ausführung des Verfahrens.
  • Beim Design heutiger Prozessoren, insbesondere von Signalprozessoren kommen seit neuestem Entwicklungsumgebungen zum Einsatz, in welchen zumindest teilweise bestimmte Hilfsmittel für die Benutzung des Prozessors wie beispielsweise eine Hardware-Beschreibung oder auch bestimmte Software-Werkzeuge rechnergestützt erzeugt werden. Beispielsweise ist in der internationalen Patentanmeldung WO 00/46704 ein derartiges Entwicklungssystem beschrieben, bei welchem der Compiler für den jeweiligen Prozessor automatisch aus der Architektursprachen-Beschreibung des Instruktionssatzes erzeugt wird. Dabei ist es nicht unüblich, dass schon während der Entwicklung beziehungsweise der Erweiterung des Prozessors Programme für diesen in einer Hochsprache geschrieben werden. Diese Programme im Hochsprachen-Programmcode werden von dem Compiler in eine Assemblersprache oder in eine Maschinensprache übersetzt. Wenn ein Programmierer seinen erzeugten Quellcode über den Compiler in einen Maschinencode übersetzen lassen möchte, muss sichergestellt sein, dass dabei der aktualisierte Compiler, welcher den aktuellen Stand der Prozessorentwicklung widerspiegelt, benutzt wird. Aus diesem Grund muss vor der Compilierung das Compilerprogramm auf der Basis der aktuellen Daten, beispielsweise der Architekturaprachen-Beschreibung des aktuellen Instruktionssatzes neu erzeugt oder aktualisiert werden. Dies gilt insbesondere auch für größere Programmierprojekte, bei welchen mehrere Programmierer gleichzeitig Teile eines einzelnen Programmprojektes erstellen oder bearbeiten. Die vor der eigentlichen Compilierung notwendige Erzeugungs- oder Konfigurationsphase des Compilers ist mit einem hohen Zeitaufwand verbunden.
  • Somit besteht die Aufgabe der Erfindung darin, den Zeitaufwand für das Compilieren eines Quellcode-Programms in ein maschinenlesbares Zielobjekt-Programm zu minimieren, wenn während der Erstellung des Programms gleichzeitig auch der Prozessor weiterentwickelt wird.
  • Diese Aufgabe löst die Erfindung schon mit einem Verfahren zum Compilieren eines Quellcode-Programms in ein maschinenlesbares Zielobjekt-Programm in einer Netzwerkumgebung mit den Merkmalen des Anspruchs 1 sowie einem zur Ausführung des Verfahrens ausgebildeten Computersystems mit den Merkmalen des Anspruchs 11.
  • Bei dem erfindungsgemäßen Verfahren in einer Netzwerkumgebung, welche zumindest einen Server und mehrere mit diesem vernetzten, benutzergesteuerten Clients umfasst, zeichnet sich dadurch aus, dass ein Compilerprogramm auf dem Server gestartet wird, wobei das Compilerprogramm kontinuierlich eine Eingangsschnittstelle des Servers nach einem in diese neu eingeschriebenen Quellcode-Programm abfragt, und ein Client-Programm auf einem Client gestartet wird, wobei durch dessen Ablauf ein zu compilierendes Quellcode-Programm in die Eingangsschnittstelle des Servers geschrieben wird und kontinuierlich eine Ausgangsschnittstelle des Servers nach einem in diesen neu eingeschriebenen Zielobjekt-Programm abgefragt wird. Im Ansprechen auf das Erkennen eines in die Eingangsschnittstelle des Servers neu eingeschriebenen Quellcode-Programms wird das Quellcode-Programm eingelesen und in ein Zielobjekt-Programm compiliert, das nachfolgend in die Ausgangsschnittstelle des Servers geschrieben wird. Im Ansprechen auf das Erkennen des in die Ausgangsschnittstelle des Servers geschriebenen Zielobjekt-Programms wird dieses ausgelesen und auf dem Client abgelegt.
  • Durch das beschriebene Verfahren wird erreicht, dass alle im Netz befindlichen Clients, auf welchen Programme in einer Hochsprache erzeugt werden, auf die Compilerfunktion des Servers zugreifen können, sodass die Clients ohne Compilerfunktion auskommen. Somit muss nur ein einzelner Compiler aktualisiert vorgehalten werden, was unabhängig von den Clients durchgeführt werden kann.
  • Der Erfindung liegt die Idee zugrunde, dass Compilieren von Programmcodes in einer Hochsprache in eine maschinennahe Sprache, in welcher sich der Compiler permanent verändern kann, dadurch zu erleichtern, dass der Compiler zentral vorgehalten wird und die Clients nur über eine Datenschnittstelle mit dem den Compiler bereitstellenden Server verbunden sind und die jeweiligen Schnittstellen permanent abgefragt werden um Informationen, d.h. das Quellcode-Programm in der Hochsprache beziehungsweise das Zielobjekt-Programm in einer maschinennahen Sprache auszutauschen. Hierdurch vereinfacht sich die Aktualisierung des Compilers, da dieser nur an einer Stelle, d.h. auf dem Server aktualisiert werden kann. Hiervon sind die Clients vollkommen unberührt, da diese nur über die besagten Schnittstellen mit dem Server kommunizieren. Eine Aktualisierung des Compiler-Programms auf dem Server hat mit dem erfindungsgemäßen Verfahren nur die Auswirkung, dass das Quellcode-Programm verzögert an der Eingangsschnittstelle des Servers aufgenommen und das Zielobjekt-Programm verzögert an der Ausgangsschnittstelle des Servers bereitgestellt wird. Eine weitere Auswirkung der beschriebenen Aktualisierung des Servers beziehungsweise des Compilerprogramms auf dem Server auf die Clients besteht nicht.
  • Das permanente oder kontinuierliche Abfragen der Eingangsschnittstelle durch den Server beziehungsweise der Ausgangsschnittstelle durch den Client bedeutet, dass die jeweilige Schnittstelle regelmäßig nach neuen Daten abgefragt wird, wobei unter Umständen zwischen diesen Abfragen auch eine Pause liegen kann. In jedem Fall wird immer wieder nach aktualisierten Daten die Schnittstelle geprüft oder gepollt.
  • Weitere vorteilhafte Ausbildungen der Erfindung sind in den Unteransprüchen angegeben.
  • Es kann zweckmäßig sein, die Eingangs- und die Ausgangsschnittstelle als eine zusammengefasste, einzelne, bidirektionale Schnittstelle des Servers auszubilden, wodurch der Hardware-Aufwand zur Verbindung des Servers mit den Clients minimiert wird.
  • Die beschriebene Eingangs- beziehungsweise Ausgangsschnittstelle des Servers kann auf vielfältige Weise realisiert sein. Diese Schnittstellen bieten einzig den unabhängig voneinander ablaufenden Programmen, d.h. dem Programm auf dem Server und dem Clientprogramm die Möglichkeit, untereinander Daten auszutauschen. Beispielsweise kann sowohl die Eingangsschnittstelle als auch die Ausgangsschnittstelle durch einen Speicher bereitgestellt sein, auf welchen sowohl der Server als auch die Clients zugreifen können. Dabei kann ein einzelner Speicherbereich, beispielsweise auf einem nichtflüchtigen Speichermedium, ausreichen, auf welchen der Server und die Clients die notwendigen Schreib- und/oder Leserechte besitzen. Die Unterscheidung des Quellcode-Programms von dem Zielobjekt-Programm kann dabei durch unterschiedliche Dateinamen realisiert sein, mit welchen die Programme auf dem Speichermedium abgelegt sind. Es ist jedoch auch möglich, die Quellcode-Programme beziehungsweise die Zielobjekt-Programme in unterschiedlichen Verzeichnissen abzulegen, sodass hierdurch eine Differenzierung möglich ist.
  • Um den Compilevorgang zu steuern, kann vorgesehen sein, dass die Datei des Quellcode-Programms darüber hinaus Informationen über Compilerschalter und/oder Information über die Erzeugung der Datei des Zielobjekt-Programms umfasst. Auf diese Weise kann beispielsweise dem Compiler mitgeteilt werden, welchen Namen er der Zielobjektdatei geben soll. Darüber hinaus können jedoch auch für den Compilevorgang relevante Informationen wie ein Schalter zur Herstellung eines zeitoptimierten oder speicheroptimierten Codes gesetzt werden.
  • Besonders vorteilhaft können die beiden Schnittstellen, d.h. die Eingangsschnittstelle und die Ausgangsschnittstelle mit dem TCP/IP-Kommunikations- und Adresskonzept realisiert sein. Beispielsweise kann ein Port einen derartigen Kommunikationsendpunkt darstellen, an dem sich das Clientprogramm beziehungsweise das Serverprogramm anbinden kann, um an den Port adressierte Daten zu empfangen. Dabei müssen das Quellcode-Programm beziehungsweise eine zugeordnete Datei oder das Zielobjekt- Programm beziehungsweise eine zugeordnete Datei nicht auf einem Speichermedium abgelegt sein, sondern können kontinuierlich als Datenstream an den Port geschrieben werden, von welchem diese von dem jeweiligen anderen Prozess, d.h. dem Clientprogramm beziehungsweise dem Serverprogramm aufgenommen werden können. Es versteht sich, dass in einem derartigen Datenstream des Quellprogramms auch Informationen über Compilerschalter zum Compilieren des Quellcodes und/oder Informationen für die Erzeugung des Datenstreams des Zielobjekt-Programms abgelegt sein können.
  • Um Informationen über Ergebnisse des Vorganges des Compilierens des betreffenden Quellcode-Programms an den Client zu übermitteln, kann vorgesehen sein, dass zusätzlich zu den Zielobjekt-Programmdaten Log-Daten an die Ausgangsschnittstelle gesendet werden, womit sich beispielsweise eine Fehlersuche im Quellcode-Programm stark vereinfacht.
  • Das Compilerprogramm kann automatisch während des Startens durch das Einlesen einer Prozessormodell-Datenbank auf den jeweiligen Prozessortyp aktualisiert werden. Um Änderungen in der Prozessordatenbank sofort allen an den Server angeschlossenen Clients für den Compilerprozess verfügbar zu machen, kann vorgesehen sein, dass nach der Änderung der Prozessormodell-Datenbank das Compilerprogramm auf dem Server auf der Basis der geänderten Prozessormodelldaten aktualisiert wird.
  • Vorrichtungsseitig wird die Aufgabe durch ein Computersystem mit einem Server und mehreren, mit diesem über ein Netzwerk verbundenen Clients gelöst, welche zur Ausführung des erfindungsgemäßen Verfahrens ausgebildet sind.
  • Die Erfindung wird im Folgenden durch das Beschreiben von Ausführungsbeispielen unter Bezugnahme auf die beiliegende Figur erläutert, die in einer Prinzipskizze ein erfindungsgemäßes Computersystem zur Ausführung eines Verfahrens zum Compilieren eines Quellcode-Programms in ein maschinenlesbares Zielobjekt-Programm in einer Netzwerkumgebung zeigt.
  • Das in 1 dargestellte Computernetzwerk umfasst mehrere miteinander verbundene autonome Computer, hier einen Server 10 sowie eine Vielzahl von Clients, von welchen nur eine geringe Anzahl mit den Bezugszeichen 2050 dargestellt sind. Die Computer sind über eine Datenleitung 60 zum Austausch von Informationen miteinander verbunden. Dieses Netz ist in dem beschriebenen Beispiel als Broadcast-LAN mit einem BUS nach dem IEEE 802.3 Standard ausgebildet.
  • Das dargestellte Computernetzwerk dient zur Bereitstellung einer Umgebung, in welcher Quellcode-Programme in der Programmiersprache C, die auf den einzelnen Clients 2050 erstellt wurden, in einen maschinenlesbaren Code umzuwandeln. Die Programme werden für einen digitalen Signalprozessor erstellt. Zur Bereitstellung der Compilierfunktion wird auf dem Server 10 ein Compilierprogramm gestartet. Während des Starts lädt der Server 10 über das Netz von einem weiteren Server 70 eine Prozessormodell-Datenbank für den digitalen Signalprozessor. Auf diese Weise wird sichergestellt, dass das Compilierprogramm immer auf dem aktuellen Design des digitalen Signalprozessors, das in der Prozessormodell-Datenbank abgelegt ist, beruht und diesen unterstützt. Im vorliegenden Beispiel umfasst die Prozessormodell-Datenbank den vollständigen Instruktionsdatensatz des digitalen Signalprozessors. In einer anderen Ausführungsform der Erfindung liegt die Prozessormodell-Datenbank für den digitalen Signalprozessor direkt auf dem Server vor.
  • Die Rechner kommunizieren über das TCP/IP-Protokoll miteinander. Dabei ist jedem an das Netz angeschlossenen Rechner eine eindeutige, sogenannte IP-Adresse zugeordnet. Der Server 10 weist dabei ferner zwei sogenannte Ports auf, über welche die Kommunikation mit den Clients 2050 durchgeführt wird. Diese Ports bilden jeweils zusammen mit der IP-Adresse ein sogenanntes Socket. Das erste Socket bildet die Eingangsschnittstelle für den Server und wird von den Clients genutzt, Daten zum Server zu übermitteln, welcher zu diesem Zweck die Eingangsschnittstelle permanent abhört. Im Gegensatz dazu wird das zweite Socket als Ausgangsschnittstelle genutzt, in welche der Server Daten schreiben kann, wobei die Clients 2050 an dieser Ausgangsschnittstelle permanent „horchen".
  • Wurde nun auf einem der Clients ein C-Programm erstellt und möchte der Benutzer dieses compilieren lassen, startet dieser auf seinem Rechner ein Clientprogramm ähnlich einem Script, mit welchem das Quellcode-Programm zusammen mit Informationen über die Einstellung von Compilerschaltungen an die beschriebene Eingangsschnittstelle des Servers übermittelt wird. Da dieser permanent den Eingang abhorcht, erfasst er die angegebenen Informationen, und compiliert das C-Programm auf der Basis der angeforderten Compilereinstellungen. Nach der Compilierung wird das Maschinenprogramm über das Ausgangs-Socket ausgegeben, von dem Client erfasst und in diesen eingelesen, womit es für eine weitere Verarbeitung am Client zur Verfügung steht. Da grundsätzlich alle Clients auf das Eingangs-Socket beziehungsweise das Ausgangs-Socket des Servers zugreifen können, müssen diese erkennen, ob der am Ausgangs-Socket des Servers geschriebene Bytestream auch das ihr zugeordnete Maschinenprogramm ist. Zu diesem Zweck wird mit dem Quellcode-Programm eine Kennzeichnung zum Server übermittelt, welcher diese bei der Erzeugung des Bytestreams des Maschinenprogramms verwendet, sodass jeder Client eindeutig erfassen kann, ob das an der Ausgangsschnittstelle des Servers liegende Maschinenprogramm diesen betrifft.
  • In einer anderen Ausführungsform der Erfindung wird die Eingangs- beziehungsweise Ausgangsschnittstelle des Servers durch einen nichtflüchtigen Speicher bereitgestellt. Dabei haben die Clients auf einen bestimmten Speicherbereich auf einer Festplatte eine Schreiberlaubnis, in welchem diese das zu compilierende C-Programm schreiben. Der Server pollt diesen Bereich permanent, erfasst eine neugespeicherte Datei, liest sie in seinen Speicher ein und compiliert das Zielobjekt-Programm wie beschrieben. Danach wird das erzeugte Maschinenprogramm auf einen anderen Bereich oder den gleichen Bereich des Speichermediums geschrieben, welcher von dem Client permanent nach neu eingeschriebenen Dateien gepollt wird. Nach dem Erfassen der neugeschriebenen Maschinendatei wird überprüft, ob diese dem entsprechenden Client zugeordnet ist und im Fall einer Übereinstimmung in den Rechner des Clients übertragen.

Claims (13)

  1. Verfahren zum Compilieren eines Quellcode- Programms in ein maschinenlesbares Zielobjekt-Programm in einer Netzwerkumgebung umfassend zumindest einen Server und mehrere mit diesem datenverbundene, nutzerbedienbare Clients, gekennzeichnet durch die Schritte: – Starten eines Compilerprogramms auf dem Server (10) , durch dessen Programmablauf kontinuierlich eine Eingangsschnittstelle des Servers nach einem in diese neu eingeschriebenen Quellcode-Programm abgefragt wird; – Starten eines Client- Programms auf einem Client (2050) durch dessen Ablauf ein zu compilierendes Quellcode-Programm in die Eingangsschnittstelle des Servers geschrieben wird und kontinuierlich eine Ausgangsschnittstelle des Servers nach einem in diese neu eingeschriebenen Zielobjekt- Programm abgefragt wird; – Einlesen und Compilieren des Quellcode-Programms in ein Zielobjekt-Programm im Server im Ansprechen auf das Erkennen des in die Eingangsschnittstelle des Servers neu eingeschriebenen Quellcode-Programms; – Schreiben des Zielobjekt-Programms in die Ausgangsschnittstelle des Servers (10); – Auslesen aus der Ausgangsschnittstelle des Servers und Abspeichern des Zielobjekt-Programms auf dem Client im Ansprechen auf das Erkennen des in die Ausgangsschnittstelle des Servers neu eingeschriebenen Zielobjekt-Programms.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine einzelne Schnittstelle des Servers sowohl als Eingangs- als auch als Ausgangsschnittstelle verwendet wird.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Quellcode-Programm und das Zielobjekt- Programm jeweils als Datei in ein jeweils diesem zugeordneten und vorbestimmten Verzeichnis eines nichtflüchtigen Speichermediums des Servers geschrieben wird, wobei diese Verzeichnisse jeweils nach neu eingeschriebenen Dateien abgefragt werden.
  4. Verfahren nach Anspruch3, dadurch gekennzeichnet, dass in die Datei des Quellcode-Programms ferner Informationen über Compiler-Schalter zum Compilieren des Quellcode-Programms und/oder Informationen für die Erzeugung der Datei des Zielobjekt-Programms abgelegt werden.
  5. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Quellcode-Programm als Datenstream kontinuierlich in einen Speicherbereich mit einer vorbestimmten Speicheradresse eines flüchtigen Speichermediums des Servers (10) geschrieben wird und dieser Speicherbereich kontinuierlich nach neu eingeschriebenen Daten abgefragt wird.
  6. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Zielobjekt-Programm als Datenstream kontinuierlich in einen Speicherbereich mit einer vorbestimmten Speicheradresse eines flüchtigen Speichermediums des Servers (10) geschrieben wird und dieser Speicherbereich kontinuierlich nach neu eingeschriebenen Daten abgefragt wird.
  7. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass in den Datenstream des Quellcode-Programms ferner Informationen über Compiler-Schalter zum Compilieren des Quellcode-Programms und/oder Informationen für die Erzeugung des Datenstreams des Zielobjekt-Programms abgelegt werden.
  8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass Log-Daten an die Ausgangsschnittstelle gesendet werden, welche Informationen über den Ablauf des Compilierens des Quellcodeprogramms umfassen.
  9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass beim Starten des Compilerprogramms auf dem Server (10) eine Prozessormodelldatenbank zum Compilieren des Quellcode-Programms für einen vorgegebenen Prozessor geladen wird.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass nach der Änderung der Prozessormodelldatenbank das Compilerprogramm auf dem Server (10) auf der Basis der geänderten Prozessormodelldaten aktualisiert wird.
  11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeich net, dass das auf dem Server (10) ablaufende Compilerprogramm und das auf dem Client (2040) ablaufende Client-Programm unabhängig voneinander ausgeführt werden, wobei über die Ausgangsschnittstelle und die Eingangschnittstelle des Servers Daten zwischen beiden Programmen ausgetauscht werden.
  12. Computersystem mit einem Server (10) und mehreren, mit diesem über ein Netzwerk verbundene Clients (2040) zur Ausführung eines Verfahrens nach einem der Ansprüche 1 bis 11.
  13. Speichermedium, mit elektronisch lesbaren Informationen zur Steuerung eines programmierbaren Computers, insbesondere eines Servers und/oder eines Clients, derart, dass bei der Abarbeitung der Informationen auf dem Computer ein Verfahren nach einem der Ansprüche 1 bis 11 ausgeführt wird.
DE10344847A 2003-09-26 2003-09-26 Verfahren zum Compilieren eines Quellcode-Programms in ein maschinenlesbares Zielobjekt-Programm in einer Netzwerkumgebung Withdrawn DE10344847A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10344847A DE10344847A1 (de) 2003-09-26 2003-09-26 Verfahren zum Compilieren eines Quellcode-Programms in ein maschinenlesbares Zielobjekt-Programm in einer Netzwerkumgebung
US10/947,978 US20050097531A1 (en) 2003-09-26 2004-09-23 Method of compiling a source code program into a machine-readable target object program in a network environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10344847A DE10344847A1 (de) 2003-09-26 2003-09-26 Verfahren zum Compilieren eines Quellcode-Programms in ein maschinenlesbares Zielobjekt-Programm in einer Netzwerkumgebung

Publications (1)

Publication Number Publication Date
DE10344847A1 true DE10344847A1 (de) 2005-04-14

Family

ID=34306114

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10344847A Withdrawn DE10344847A1 (de) 2003-09-26 2003-09-26 Verfahren zum Compilieren eines Quellcode-Programms in ein maschinenlesbares Zielobjekt-Programm in einer Netzwerkumgebung

Country Status (2)

Country Link
US (1) US20050097531A1 (de)
DE (1) DE10344847A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2210201A1 (de) * 2007-11-01 2010-07-28 Silicon Hive B.V. Asip-entwurf auf anwendungsprofilbasis
US20110289484A1 (en) * 2010-05-19 2011-11-24 Also Energy Method and System for Script Processing for Web-Based Applications
CN111913688A (zh) * 2019-05-08 2020-11-10 北京火星人视野科技有限公司 一种程序开发方法及系统
CN110647330B (zh) * 2019-09-10 2023-04-07 北京网聘咨询有限公司 针对Web的即时编译方法及工具
CN116594632A (zh) * 2023-07-18 2023-08-15 中国电信股份有限公司 编译方法、装置、计算机设备、存储介质和编译系统

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4969083A (en) * 1988-04-04 1990-11-06 Petron Controls Corporation Network programmable logic controller system
JPH05233570A (ja) * 1991-12-26 1993-09-10 Internatl Business Mach Corp <Ibm> 異オペレーティング・システム間分散データ処理システム
US5802312A (en) * 1994-09-27 1998-09-01 Research In Motion Limited System for transmitting data files between computers in a wireless environment utilizing a file transfer agent executing on host system
US6519767B1 (en) * 1995-06-07 2003-02-11 Microsoft Corporation Compiler and method for automatically building version compatible object applications
US6446070B1 (en) * 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6456308B1 (en) * 1996-08-08 2002-09-24 Agranat Systems, Inc. Embedded web server
US5881289A (en) * 1996-11-26 1999-03-09 Hewlett-Packard Company Remote compiling of source code for cross development
US5889942A (en) * 1996-12-18 1999-03-30 Orenshteyn; Alexander S. Secured system for accessing application services from a remote station
US6064818A (en) * 1997-04-10 2000-05-16 International Business Machines Corporation Straight path optimization for compilers
US6170083B1 (en) * 1997-11-12 2001-01-02 Intel Corporation Method for performing dynamic optimization of computer code
US6886130B1 (en) * 1997-11-26 2005-04-26 International Business Machines Corporation Compiled structure for efficient operation of distributed hypertext
US6473897B1 (en) * 1998-04-13 2002-10-29 Intel Corporation Method and apparatus for generating multiple processor-specific code segments in a single executable
US6249906B1 (en) * 1998-06-26 2001-06-19 International Business Machines Corp. Adaptive method and system to minimize the effect of long table walks
US6421727B1 (en) * 1998-09-22 2002-07-16 Abraham Issachar Reifer Internetworking system and method for a global telecommunications network
US20020147969A1 (en) * 1998-10-21 2002-10-10 Richard A. Lethin Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method
JP2000215181A (ja) * 1999-01-21 2000-08-04 Fujitsu Ltd ネットワ―クコンピュ―タシステム及び代理コンパイルサ―バ装置
CA2262316A1 (en) * 1999-02-22 2000-08-22 Ibm Canada Limited-Ibm Canada Limitee System and method for detecting release-to-release binary compatibility in compiled object code
US6286134B1 (en) * 1999-04-23 2001-09-04 Sun Microsystems, Inc. Instruction selection in a multi-platform environment
US6629312B1 (en) * 1999-08-20 2003-09-30 Hewlett-Packard Development Company, L.P. Programmatic synthesis of a machine description for retargeting a compiler
US6772106B1 (en) * 1999-08-20 2004-08-03 Hewlett-Packard Development Company, L.P. Retargetable computer design system
US6865732B1 (en) * 1999-11-01 2005-03-08 Hewlett-Packard Development Company, L.P. Providing an embedded application specific web server
DE10104043A1 (de) * 2000-02-23 2001-08-30 Ibm Die Schaffung der Möglichkeit, dass vorhandene Anwendungen andere Sprachen als ihre eingebauten Makrosprachen benutzen, ohne die vorhandene Anwendung zu ändern
US7209943B1 (en) * 2000-03-13 2007-04-24 International Business Machines Corporation Method and system for efficient file transfer to/from a local traffic system with a DMD system
US20020042830A1 (en) * 2000-03-31 2002-04-11 Subhra Bose System, method and applications real-time messaging over HTTP-based protocols
US7139821B1 (en) * 2000-10-20 2006-11-21 Sun Microsystems, Inc. Method and apparatus for creating and deploying applications from a server application
US7065752B2 (en) * 2001-02-02 2006-06-20 Opentv, Inc. Method and apparatus compilation of an interpretative language for interactive television
CA2343437A1 (en) * 2001-04-06 2002-10-06 Ibm Canada Limited-Ibm Canada Limitee Method and system for cross platform, parallel processing
US6931429B2 (en) * 2001-04-27 2005-08-16 Left Gate Holdings, Inc. Adaptable wireless proximity networking
KR100441115B1 (ko) * 2001-06-27 2004-07-19 주식회사 인터와이즈 정보 단말기의 자바 프로그램 처리 속도 향상을 위한 자바컴파일 온 디멘드 서비스 시스템 및 그 방법
US7024467B2 (en) * 2001-06-29 2006-04-04 Bull Hn Information Systems Inc. Method and data processing system providing file I/O across multiple heterogeneous computer systems
US6718469B2 (en) * 2001-08-01 2004-04-06 Networks Associates Technology, Inc. System and method for executing computer virus definitions containing general purpose programming language extensions
US7257620B2 (en) * 2001-09-24 2007-08-14 Siemens Energy & Automation, Inc. Method for providing engineering tool services
US7133894B2 (en) * 2002-03-12 2006-11-07 International Business Machines Corporation Method, apparatus, and program for synchronous remote builds
US7340730B2 (en) * 2002-03-18 2008-03-04 Sun Microsystems, Inc. On demand, network accessible, run time compile server
US7233938B2 (en) * 2002-12-27 2007-06-19 Dictaphone Corporation Systems and methods for coding information
US7290250B2 (en) * 2003-02-28 2007-10-30 Bea Systems, Inc. System and method for determining when an EJB compiler needs to be executed
US7559050B2 (en) * 2003-06-30 2009-07-07 Microsoft Corporation Generating software development tools via target architecture specification
US7363342B1 (en) * 2003-07-08 2008-04-22 Microsoft Corporation Method and apparatus for providing web services in a collaborative computing system

Also Published As

Publication number Publication date
US20050097531A1 (en) 2005-05-05

Similar Documents

Publication Publication Date Title
DE60226019T2 (de) Verfahren und system zum steuern von ausführbaren dateien mit geteilten bibliotheken
DE60003457T2 (de) Verfahren und system zur konfiguration von komponenten, ausgebbar in einem netzwerk
DE69912601T2 (de) Anpassung von umbasierten und neu ausgerichteten exekutierbaren dateien
EP3128383B1 (de) Feldgerät
EP1723513B1 (de) Verfahren zur konfiguration eines computerprogramms
WO2007045383A2 (de) Verfahren und programm für die generierung automatisch verteilbarer clients von application-servern
EP1430369B1 (de) Dynamischer zugriff auf automatisierungsressourcen
DE102009047025B3 (de) Echtzeit-Laufzeitsystem und Funktionsmodul für ein solches Laufzeitsystem
EP0829046B1 (de) Setup-verfahren und setup-system für benutzerprogramme, sowie benutzerrechner in einem rechnernetz
WO2010040597A2 (de) Verfahren und vorrichtung zum austauschen einer komponente eines computersystems
DE10344847A1 (de) Verfahren zum Compilieren eines Quellcode-Programms in ein maschinenlesbares Zielobjekt-Programm in einer Netzwerkumgebung
EP3538996B1 (de) Austausch von echtzeitdaten zwischen programmmodulen
EP3204831B1 (de) Verfahren zur nachverfolgbaren programmierung und konfigurierung eines geräts
EP3482467B1 (de) Steckverbinderbauteil, steckverbinder, steckverbindersystem und verfahren zum zusammensetzen und betreiben eines steckverbinders
EP3285162A1 (de) Verfahren zum projektieren eines projektes sowie anordnung zur durchführung des verfahrens
DE102004012315A1 (de) Verfahren zur automatischen Anpassung von Software
EP1235123A2 (de) Addon-Mechanismus für ein Steuerungssystem basierend auf einem Typdatenfeld
EP3650968A1 (de) Verfahren zum betrieb einer produktions- oder werkzeugmaschine und produktions- oder werkzeugmaschine sowie computerprogramm zum betrieb einer produktions- oder werkzeugmaschine
EP3668132B1 (de) Inkrementelles aktualisieren einer firmware
EP4086754A1 (de) Verfahren zur rechnergestützten konfiguration eines endgeräts, endgerät und betriebsverfahren für das endgerät
EP1621945B1 (de) Konsistenzsicherung in einem Automatisierungssystem
DE102019201060A1 (de) Verfahren zur rechnergestützten Erzeugung von Betriebssoftware für ein Endgerät und Datenverarbeitungsgerät und Endgerät
DE102020115028A1 (de) Verfahren zum Erstellen und Ausführen eines Steuerprogramms zum Steuern eines Automatisierungssystems und Automatisierungssystem
DE10250179A1 (de) Verfahren und Einrichtung zum Betreiben eines Datenverarbeitungs-Systems bei sich ändernder Firmware
EP2085880A2 (de) Addon-Mechanismus für ein Steuerungssystem bzw. für ein Engineeringsystem basierend auf einem Typdatenfeld

Legal Events

Date Code Title Description
8141 Disposal/no request for examination