Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Architektur und Funktionalität von ILCS

&pagelevel(3)&pagelevel

Eine Reihe von ILCS-Basisfunktionen können vom Sprach-Laufzeitsystem und den Anwendungen auch direkt genutzt werden.

ILCS ist eine Kombination aus Software und Schnittstellen-Konventionen:

  • ILCS enthält Laufzeitroutinen, die in der CRTE-Bibliothek zusammengefasst sind

  • In ILCS ist auch die den „Standard-Linkage-Konventionen im BS2000“ entsprechende Kommunikationsschnittstelle definiert; d.h. jedes von einem ILCS-fähigen Compiler erzeugte Modul ist entsprechend den Standard-Linkage-Konventionen für die Verknüpfung mit gleich- und verschiedensprachigen Programmen vorbereitet.

Die ILCS-Routinen sind Bestandteil der Liefereinheit CRTE und werden mit dieser immer in der aktuellsten Version ausgeliefert. Sie sind an dem Präfix „IT0“ zu erkennen.

Im Einzelnen bietet ILCS folgende Funktionen:

  • Programminitialisierung

  • Programmbeendigung

  • Konvention zur Verknüpfung verschiedensprachiger Programme

  • einheitliche Richtlinien zur Ereignisbehandlung

  • Speicherverwaltung (Stack- und Heap-Speicher)

  • einheitliche Behandlung der Programmmaske

  • Verarbeitung nichtlokaler Sprünge

  • ab C/C++ V3.0 Unterstützung der C++-Ausnahmebehandlung

Alle neueren Versionen der BS2000-Compiler sind ILCS-fähig:

Compiler

ab Version

Ada

2.1

ASSEMBH

1.1

C

2.0

C++

2.1A

COBOL85

1.1

COBOL2000

1.1

FOR1

2.2

Pascal-XT

2.2

PLI1

4.1

RPG3

3.0

UX-Basic

3.0B

Ferner ist auch openUTM ab Version 3.3 an ILCS angepasst.

Programme, die mit ILCS-fähigen Compilern übersetzt wurden, lassen sich auf einfache Weise mittels ILCS zu einem Programmsystem verknüpfen. Enthält ein Programmsystem Programme, die sich nicht gemäß den ILCS-Konventionen verhalten, müssen sie ggf. so

umgestaltet werden, dass sie den ILCS-Konventionen entsprechen. Andernfalls besteht- zumindest bei der Verknüpfung verschiedensprachiger Programme - die Gefahr der Inkompatibilität.

ILCS besteht aus folgenden Modulen:

  • dem Codemodul IT0SL@ und

  • dem Datenmodul IT0SL#.

ILCS (CRTECOM) wird seit CRTE V2.1 nicht mehr als vorladbares Subsystem ausgeliefert. Beim Binden von Anwendungen, die CRTE voraussetzen, muss sichergestellt werden, dass immer die ILCS aus dem CRTE eingebunden wird. Insbesondere dürfen weder ein alter Modul IT0INITS aus einer der Sprachlaufzeitsystem-Bibliotheken noch Module aus der $.SYSLNK.ILCS nachgebunden werden. Deshalb muss zum Auflösen von Externreferenzen die Bibliothek $.SYSLNK.CRTE vor allen anderen Sprachlaufzeitsystem-Bibliotheken durchsucht werden. Desweiteren ist darauf zu achten, dass ILCS und Laufzeitsystem-Module in einer Anwendung nicht mehrfach eingebunden sein dürfen. Ausgenommen hiervon sind abgeschottete Subsysteme.