어떻게 수정하는 몇 가지 사전 처리기 지시문이 가능합니다ecpg
파일을 구문 분석하고 처리합니다.
내장 된 토토 결과 프로그램에 외부 파일을 포함 시키려면 다음을 사용하십시오.
exec 토토 결과 includefilename
; Exec 토토 결과 포함 <filename
; exec 토토 결과 포함 "filename
";
내장 된 토토 결과 사전 처리기는 이름이라는 파일을 찾습니다
, 사전 처리하고 결과 C 출력에 포함시킵니다. 따라서 포함 된 파일의 내장 된 토토 결과 문은 올바르게 처리됩니다.filename
.h
ECPG
Preprocessor는 다음 순서대로 여러 디렉토리에서 파일을 검색합니다.
/usr/local/include
/usr/local/pg토토 결과/include
)/usr/include
하지만 언제Exec 토토 결과 포함 "
사용됩니다. 현재 디렉토리 만 검색됩니다.filename
"
각 디렉토리에서, 사전 처리기는 먼저 주어진 파일 이름을 찾아서 찾을 수없는 경우.h
파일 이름으로 다시 시도하십시오 (지정된 파일 이름에 이미 해당 접미사가없는 한).
참고Exec 토토 결과 포함
isnot동일 :
#include <filename
.h
이 파일에는 토토 결과 명령 전처리가 적용되지 않기 때문입니다. 당연히 C를 계속 사용할 수 있습니다.#include
다른 헤더 파일을 포함하는 지침.
포함 파일 이름은 나머지에도 불구하고 파일 이름이 구체적으로 민감합니다.exec 토토 결과 포함
명령은 일반 토토 결과 사례 감지 규칙을 따릅니다.
지침과 유사#define
C에서 알려진 것은 내장 된 토토 결과이 비슷한 개념을 가지고 있습니다.
Exec 토토 결과 Define이름
; Exec 토토 결과 Define이름
value
;
따라서 이름을 정의 할 수 있습니다 :
exec 토토 결과 define hAd_feature;
그리고 상수를 정의 할 수도 있습니다 :
Exec 토토 결과 MyNumber 정의 12; Exec 토토 결과 MyString 'ABC'를 정의합니다.
useundef
이전 정의를 제거하려면 :
Exec 토토 결과 Undef MyNumber;
물론 C 버전을 계속 사용할 수 있습니다#define
and#undef
내장 된 토토 결과 프로그램에서. 차이점은 정의 된 값이 평가되는 곳입니다. 사용하는 경우Exec 토토 결과 Define
그런 다음ECPG
사전 처리기는 정의를 평가하고 값을 대체합니다. 예를 들어 글을 쓰면 :
Exec 토토 결과 MyNumber 정의 12; ... Exec 토토 결과 업데이트 TBL SET COL = MYNUMBER;
theECPG
이미 대체를 수행하고 C 컴파일러가 이름이나 식별자를 볼 수 없습니다MyNumber
. 사용할 수 없음#define
이 경우 임베디드 토토 결과 프리 컴파일러 가이 선언을 볼 수 없기 때문에 임베디드 토토 결과 쿼리에서 사용할 수있는 상수의 경우
다음 지침을 사용하여 코드 섹션을 조건부로 컴파일 할 수 있습니다 :
Exec 토토 결과 IFDEF이름
;
확인 a이름
그리고 다음 선을 처리하는 경우이름
Exec 토토 결과 Define
.이름
Exec 토토 결과 Ifndef이름
;
확인 a이름
그리고 다음 선을 처리하는 경우이름
hasnotExec 토토 결과 Define
.이름
exec 토토 결과 else;
중 하나에 의해 소개 된 섹션에 대한 대체 섹션 처리를 시작합니다Exec 토토 결과 IFDEF
또는이름
exec 토토 결과 ifndef
.이름
Exec 토토 결과 Elif이름
;
점검이름
if 대체 섹션을 시작합니다.이름
Exec 토토 결과 Define
.이름
Exec 토토 결과 endif;
대체 섹션을 종료합니다.
예 :
exec Sql ifndef tzvar; Exec 토토 결과 Timezone을 'GMT'로 설정합니다. Exec 토토 결과 Elif Tzname; Exec 토토 결과 TIGNAME TIMEZONE를 설정합니다. Exec 토토 결과 else; Exec 토토 결과 시간대를 TZVAR로 설정합니다. Exec 토토 결과 endif;