Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Parameter eines C/C++-Teilprogramms

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 ...
param_n

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.