Ein C/C++-Teilprogramm besitzt mindestens einen, in der Regel jedoch mehrere Parameter, die wie folgt in Form von Adressen übergeben werden.
[extern "C"] void cprog (kb [,spab] [,param_1] ....[,param_n])
extern "C" | nur notwendig bei C++-Teilprogrammen: |
C++-Teilprogramme müssen sich in ihren Source-Codes gegenüber openUTM als extern "C" linkage identifizieren, sonst gibt es Bindefehler. | |
void | Ein C/C++-Teilprogramm ist als Funktion vom Typ void zu definieren. |
cprog | Name des Teilprogramms. Er muss bei der Generierung in der PROGRAM-Anweisung angegeben werden, siehe openUTM-Handbuch „Anwendungen generieren“. |
kb | Name des Kommunikationsbereichs (KB). Diesen Namen können Sie frei wählen, aber der KB muss anschließend unter diesem Namen deklariert werden. Als Include-Element steht Ihnen kcca.h zur Verfügung. |
spab | Name des Standard-Primären-Arbeitsbereichs. Diesen Namen können Sie frei wählen, aber der SPAB muss anschließend unter diesem Namen deklariert werden. Als Include-Element für den KDCS-Parameterbereich steht Ihnen kcpa.h zur Verfügung. |
param_1 ... | sind die Namen weiterer Objekte (AREAs), die ebenfalls deklariert werden müssen. Diese Objekte können insbesondere Speicherbereiche sein, die als Erweiterung des SPAB dienen. |
Werden diese Objekte nicht verwendet, so entfällt die Angabe. |
Bei der Verwendung von kcmac.h werden die Include-Dateien kcca.h, kcpa.h, kcapro.h und kcdf.h implizit inkludiert. D.h. sie müssen nicht mehr im eigentlichen Programm als Include-Dateien angegeben werden. Ihre Definitionen stehen dem Programmierer jederzeit zur Verfügung.
Für die Übergabe von Leerzeichen an Char-Arrays ist in der Include-Datei kcmac.h
der Wert KDCS_SPACES definiert, für die Übergabe des Wertes "binär Null" an Char-Parameter der Wert KDCS_NULL.