C 및 C++ 애플리케이션 개발

이 정보를 사용하여 CICS® 애플리케이션 프로그램으로 사용하려는 C® 및 C++ 프로그램을 코딩, 번역 및 컴파일할 수 있습니다.

CICS 응용 프로그램 프로그래밍 언어 지원 변경은 z/OS®CICS 가 지원하는 C 및 C++ 컴파일러와 z/OS 서비스 상태를 나열합니다. CICS 트랜잭션 서버용 z/OS 문서에서 C 및 C++에 대한 모든 참조는 달리 명시되지 않는 한 지원되는 Language Environment® -준수 컴파일러를 사용함을 의미합니다. 구조화되지 않은 예외 처리에 관련된 명령을 제외하면 COBOL, PL/I, 어셈블러 언어 애플리케이션에서 사용 가능한 모든 EXEC CICS 명령도 C 및 C++ 애플리케이션에서 지원됩니다.

C++ 애플리케이션은 EXEC CICS 인터페이스 대신 CICS C++ OO 클래스를 사용하여 CICS 서비스에 액세스할 수도 있습니다. 이 인터페이스에 대한 자세한 내용은 CICS 기초 클래스 사용을 참조하세요. C++는 객체 지향 프로그래밍을 지원하며 C 언어를 사용한 동일한 방식으로 이 언어를 사용할 수 있습니다. 변환기가 CPP 옵션을 사용하여 C++를 변환함을 지정해야 합니다. C++ 프로그램도 LANGUAGE(LE370) 옵션으로 정의해야 합니다.

작업 중인 저장영역

C 및 C++에서 작업 중인 저장영역은 스택과 힙으로 이루어집니다. 16MB 라인에 대한 스택과 힙의 위치는 스택 및 힙 런타임 옵션의 ANYWHERE 및 BELOW 옵션으로 제어됩니다. 기본값은 스택과 힙이 모두 16MB 라인 위에 있는 것입니다.

샘플 프로그램

C 또는 C++ 언어로 쓴 프로그램에 EXEC CICS 명령을 사용할 수 있는 방식을 보여주는 샘플 애플리케이션 세트가 제공됩니다.
표 1. 샘플 프로그램
샘플 프로그램 맵핑 세트 맵 소스 트랜잭션 ID
DFH$DMNU 운영자 명령어(3270) DFH$DGA DFH$DMA DMNU
DFH$DALL 업데이트(3270) DFH$DGB DFH$DMB DINQ, DADD, DUPD
DFH$DBRW 찾아보기(3270) DFH$DGC DFH$DMC DBRW
DFH$DREN 주문 입력(3270) DFH$DGK DFH$DMK DORD
DFH$DCOM 주문 입력 큐 인쇄(3270) DFH$DGL DFH$DML DORQ
DFH$DREP 보고서(3270) DFH$DGD DFH$DMD DREP
트랜잭션 및 프로그램 정의는 CICS 시스템 정의 데이터 세트(CSD)의 그룹 DFH$DFLA에 제공되며 다음 명령을 사용하여 설치할 수 있습니다.
CEDA INSTALL GROUP(DFH$DFLA)
다음 레코드 설명 파일이 C 또는 C++ 언어 헤더 파일로 제공됩니다.
  • DFH$DFIL: FILEA 레코드 설명자
  • DFH$DL86: L860 레코드 설명자

FLOAT 컴파일러 옵션

z/OS V1.11 XL C(또는 C++) 이상의 경우 FLOAT(NOAFP) 컴파일러 옵션이나 FLOAT(AFP(VOLATILE)) 컴파일러 옵션을 지정하십시오.
  • 프로그램이 부동 소수점을 거의 또는 전혀 사용하지 않는 경우에는 FLOAT(NOAFP) 옵션을 지정하십시오. 프로그램에 일반적인 네 개의 부동 소수점 레지스터만 사용되어 레지스터를 저장할 때 수행하는 작업이 감소합니다.
  • 프로그램이 부동 소수점을 상당히 사용하는 경우에는 FLOAT(AFP) 옵션 또는 FLOAT(NOVOLATILE) 옵션을 지정하십시오. 프로그램에 16가지 모든 부동 소수점 레지스터를 사용할 수 있으며 CICS는 프로그램에 사용되는 부동 소수점 레지스터를 보존합니다.
  • FLOAT(AFP(VOLATILE)) 옵션을 지정하는 경우에는 CICS, C, C++가 부동 소수점 레지스터를 보존합니다. 여분의 코드가 생성되므로 성능이 저하될 수 있습니다.