방법을 수정하는 여러 전처리기 지시문을 사용할 수 있습니다.ecpg전처리기가 파일을 구문 분석하고 처리합니다.
Embedded 젠 토토 프로그램에 외부 파일을 포함하려면 다음을 사용하십시오:
EXEC 젠 토토 포함파일 이름; EXEC 젠 토토 포함 <파일 이름; EXEC 젠 토토에는 "이 포함됩니다.파일 이름";
Embedded 젠 토토 전처리기는 다음 이름의 파일을 찾습니다., 사전 처리하고 결과 C 출력에 포함합니다. 따라서 포함된 파일에 포함된 젠 토토 문이 올바르게 처리됩니다.파일 이름.h
그ecpg전처리기는 다음 순서로 여러 디렉토리에서 파일을 검색합니다:
/usr/local/include/usr/local/pg젠 토토/include)/usr/include그러나 언제EXEC 젠 토토 INCLUDE "을 사용하면 현재 디렉토리만 검색됩니다.파일 이름"
각 디렉토리에서 전처리기는 먼저 주어진 파일 이름을 찾고, 찾지 못한 경우 추가합니다.h파일 이름으로 변경하고 다시 시도하십시오(지정된 파일 이름에 이미 해당 접미사가 없는 경우).
참고EXEC 젠 토토 포함is아님동일:
#포함 <파일 이름.h
이 파일은 젠 토토 명령 전처리의 대상이 아니기 때문입니다. 당연히 C를 계속 사용할 수 있습니다.#include다른 헤더 파일을 포함하라는 지시어입니다.
포함 파일 이름은 대소문자를 구분합니다.EXEC 젠 토토 포함명령은 일반적인 젠 토토 대소문자 구분 규칙을 따릅니다.
지시문과 유사#정의C에서 알려진 Embedded 젠 토토에도 비슷한 개념이 있습니다.
EXEC 젠 토토 정의이름; EXEC 젠 토토 정의이름값;
따라서 이름을 정의할 수 있습니다:
EXEC 젠 토토 DEFINE HAVE_FEATURE;
그리고 상수를 정의할 수도 있습니다:
EXEC 젠 토토 정의 내 번호 12; EXEC 젠 토토 정의 MYSTRING 'abc';
사용undef이전 정의를 제거하려면:
EXEC 젠 토토 UNDEF MYNUMBER;
물론 C 버전을 계속 사용할 수 있습니다.#정의그리고#undefEmbedded 젠 토토 프로그램에서. 차이점은 정의된 값이 평가되는 위치입니다. 사용하는 경우EXEC 젠 토토 정의그러면ecpg전처리기는 정의를 평가하고 값을 대체합니다. 예를 들어 다음과 같이 쓴다면:
EXEC 젠 토토 정의 내 번호 12; ... EXEC 젠 토토 업데이트 Tbl SET col = MYNUMBER;
그런 다음ecpg이미 대체를 수행할 것이며 C 컴파일러는 어떤 이름이나 식별자도 볼 수 없습니다.마이넘버. 사용할 수 없습니다.#정의이 경우 Embedded 젠 토토 사전 컴파일러가 이 선언을 볼 수 없기 때문에 Embedded 젠 토토 쿼리에서 사용할 상수에 대해.
여러 개의 입력 파일 이름이 다음에 있는 경우ecpg전처리기의 명령줄, 효과EXEC 젠 토토 정의그리고EXEC 젠 토토 UNDEF파일 간에 전달되지 않음: 각 파일은 다음에 의해 정의된 기호로만 시작됩니다.-D명령줄을 전환합니다.
다음 지시문을 사용하여 조건부로 코드 섹션을 컴파일할 수 있습니다:
EXEC 젠 토토 ifdef이름;a를 확인합니다이름다음의 경우 후속 라인을 처리합니다.이름다음으로 생성되었습니다EXEC 젠 토토 정의.이름
EXEC 젠 토토 ifndef이름;확인 a이름다음의 경우 후속 라인을 처리합니다.이름있음아님다음으로 생성됨EXEC 젠 토토 정의.이름
EXEC 젠 토토 기타;둘 중 하나에 의해 도입된 섹션에 대한 대체 섹션 처리를 시작합니다.EXEC 젠 토토 ifdef또는이름EXEC 젠 토토 ifndef.이름
EXEC 젠 토토 엘리프이름;체크이름다음의 경우 대체 섹션을 시작합니다이름다음으로 생성됨EXEC 젠 토토 정의.이름
EXEC 젠 토토 endif;대체 섹션을 종료합니다.
예:
EXEC 젠 토토 ifndef TZVAR; EXEC 젠 토토은 시간대를 'GMT'로 설정합니다. EXEC 젠 토토 elif TZNAME; EXEC 젠 토토은 시간대를 TZNAME으로 설정합니다. EXEC 젠 토토 기타; EXEC 젠 토토은 시간대를 TZVAR로 설정합니다. EXEC 젠 토토 endif;