Hvordan lenke COBOL & C sammen på z / OS

Hvordan lenke COBOL & C sammen på z / OS


En svært sikker enterprise operativsystem utviklet av IBM, z / OS driver store stormaskiner og gir et integrert miljø for utvikling av programmer i ulike programmeringsspråk. Du kan bruke Språk kommunikasjon - eller ILC - funksjonalitet innebygd i z / OS for å sømløst koble COBOL og C-programmer, som operativsystem har innebygd støtte for denne funksjonen. Du kan ringe C rutiner fra COBOL eller ring COBOL rutiner fra C, eller en kombinasjon av begge, mye på samme måte som du ville ringe lokale rutiner i hvert språk.

Bruksanvisning

1 Koble C-program for å ringe COBOL-programmet ved å erklære dine C og COBOL fungerer som følger:

Erklærer en funksjon i C som passerer et heltall (i) til COBOL:
ugyldig CBLRTN (int);
CBLRTN (i);

Bruk verdien "I" fra C program i COBOL-programmet:
01 Jeg PIC S9 (9) BINARY.
PROSEDYRE DIVISION BRUK AV VERDI I.

2 Koble COBOL program til C-programmet ved å ha COBOL-programmet kaller en C-funksjon og gi det en verdi, som følger:

Ring C subrutine "CFUNC" fra COBOL, passerer verdien "I":
01 Jeg PIC S9 (9) BINARY.
RING "CFUNC" BRUKE AV VERDI I.

Erklærer funksjonen i C:
ugyldig CFUNC (int i) {
tilbake i;
}

3 Erklærer en "pragma_linkage" på toppen av C-program for å eksplisitt deklarere en kobling til COBOL, som er nødvendig for noen kompilatorer. Syntaksen for pragma sammenhengen er:
"#pragma Linkage (funksjon, COBOL)".

Du erklære pragma sammenhengen og lage en C-funksjon for å passere en verdi til COBOL som følger:

Pragma lenke (CBLRTN, COBOL)

ugyldig CBLRTN (int i);
CBLRTN (i);

Du kan deretter bruke passerte variable i COBOL-programmet som følger:

01 Jeg PIC S9 (9) bruk er BINARY
PROSEDYRE DIVISION BRUKE I.

4 Erklærer en "pragma linkage" på toppen av C-program for å eksplisitt knytte COBOL-programmet til C. Dette er nødvendig for noen kompilatorer. Den pragma binding utføres alltid i den C-program, selv når COBOL programmet passerer verdien til den C-program.

Du deklarere variabelen i COBOL-programmet og ringe C funksjon som følger:

01 Jeg PIC S9 (9) bruk er BINARY
CALL 'CFUNC' BRUK AV INNHOLD I.

Du erklærer deretter pragma kobling til COBOL og definere funksjonen i C som følger:

Pragma lenke (CFUNC, COBOL)

ugyldig CFUNC (int p1) {
}