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