이 문서는 지원되지 않는 버전의 Postgre스포츠 토토 결과을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다Postgre토토 사이트 : 문서 : 17 : 34.9. 전처리 지침버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

34.9. 전처리 지침#

어떻게 수정하는 몇 가지 사전 처리기 지시문이 가능합니다ECPG파일을 구문 분석하고 처리합니다.

34.9.1. 파일 포함#

임베디드 스포츠 토토 결과 프로그램에 외부 파일을 포함 시키려면 다음을 사용하십시오.

Exec 스포츠 토토 결과 포함filename;
Exec 스포츠 토토 결과 포함 <filename;
exec 스포츠 토토 결과 포함 "filename";

임베디드 스포츠 토토 결과 사전 처리기는 이름이라는 파일을 찾습니다filename.h, 사전 처리하고 결과 C 출력에 포함시킵니다. 따라서 포함 된 파일의 내장 된 스포츠 토토 결과 문은 올바르게 처리됩니다.

theECPGPreprocessor는 다음 순서대로 여러 디렉토리에서 파일을 검색합니다.

  • 현재 디렉토리
  • /usr/local/include
  • Postgre스포츠 토토 결과은 빌드 시간에 정의 된 디렉토리 포함 (예 :/usr/local/pg스포츠 토토 결과/include)
  • /usr/include

하지만 언제Exec 스포츠 토토 결과 포함 "filename"사용되며 현재 디렉토리 만 검색됩니다.

각 디렉토리에서, 사전 처리기는 먼저 주어진 파일 이름을 찾아서 찾을 수없는 경우.h파일 이름으로 다시 시도하십시오 (지정된 파일 이름에 이미 해당 접미사가없는 한).

참고Exec 스포츠 토토 결과 포함isnot동일 :

#include <filename.h

이 파일에는 스포츠 토토 결과 명령 전처리가 적용되지 않기 때문입니다. 당연히 C를 계속 사용할 수 있습니다.#include다른 헤더 파일을 포함하는 지침.

Note

포함 파일 이름은 나머지 부분에도 불구하고Exec 스포츠 토토 결과 포함명령은 일반 스포츠 토토 결과 사례 감지 규칙을 따릅니다.

34.9.2. 정의 및 undef 지침#

지침과 유사#defineC에서 알려진 내장 스포츠 토토 결과은 비슷한 개념을 가지고 있습니다.

Exec 스포츠 토토 결과 Define이름;
Exec 스포츠 토토 결과 Define이름 value;

따라서 이름을 정의 할 수 있습니다 :

exec 스포츠 토토 결과 define hAd_feature;

그리고 상수를 정의 할 수도 있습니다 :

Exec 스포츠 토토 결과 MyNumber 정의 12;
Exec 스포츠 토토 결과 MyString 'ABC'를 정의합니다.

useundef이전 정의를 제거하려면 :

Exec 스포츠 토토 결과 Undef MyNumber;

물론 C 버전을 계속 사용할 수 있습니다#defineand#undef내장 된 스포츠 토토 결과 프로그램에서. 차이점은 정의 된 값이 평가되는 곳입니다. 사용하는 경우Exec 스포츠 토토 결과 Define그런 다음ECPG사전 처리기는 정의를 평가하고 값을 대체합니다. 예를 들어 글을 쓰면 :

Exec 스포츠 토토 결과 MyNumber 정의 12;
...
Exec 스포츠 토토 결과 업데이트 TBL SET COL = MYNUMBER;

theECPG이미 대체를 수행하고 C 컴파일러가 이름이나 식별자를 볼 수 없습니다MyNumber. 사용할 수 없음#Define이 경우 임베디드 스포츠 토토 결과 프리 컴파일러 가이 선언을 볼 수 없기 때문에 임베디드 스포츠 토토 결과 쿼리에서 사용할 수있는 상수의 경우.

다중 입력 파일이에 이름을 붙인 경우ECPG전처리 명령 줄,의 효과Exec 스포츠 토토 결과 DefineandExec 스포츠 토토 결과 Undef파일을 가로 질러 휴대하지 마십시오 : 각 파일은에 의해 정의 된 기호만으로 시작합니다-d명령 줄에서 스위치.

34.9.3. ifdef, ifndef, Elif, Elif, Endif Directives#

다음 지침을 사용하여 코드 섹션을 조건부로 컴파일 할 수 있습니다 :

Exec 스포츠 토토 결과 IFDEF이름; #

확인 a이름그리고 다음 선을 처리하는 경우이름Exec 스포츠 토토 결과 Define이름.

exec 스포츠 토토 결과 ifndef이름; #

확인 a이름그리고 다음 선을 처리하는 경우이름hasnotExec 스포츠 토토 결과 Define이름.

Exec 스포츠 토토 결과 Elif이름; #

다음 선택된 대체 섹션을 시작합니다Exec 스포츠 토토 결과 IFDEF이름또는Exec 스포츠 토토 결과 Ifndef이름지침. 모든 수elif섹션이 나타날 수 있습니다. 다음 줄elif이름정의되었습니다and동일한 이전 섹션 없음ifdef/ifndef...endif구성이 처리되었습니다.

exec 스포츠 토토 결과 else; #

AN 이후 선택 사항, 최종 대체 섹션을 시작합니다Exec 스포츠 토토 결과 IFDEF이름또는exec 스포츠 토토 결과 ifndef이름지침. 동일한 이전 섹션이없는 경우 후속 선이 처리됩니다ifdef/ifndef...endif구성이 처리되었습니다.

Exec 스포츠 토토 결과 Endif; #

종료ifdef/ifndef...endif구성. 후속 선은 정상적으로 처리됩니다.

ifdef/ifndef...endif구조물은 최대 127 레벨의 깊이까지 중첩 될 수 있습니다.

이 예제는 정확히 세 가지 중 하나를 컴파일합니다시간대 설정명령 :

Exec 스포츠 토토 결과 IFDEF TZVAR;
Exec 스포츠 토토 결과 시간대를 TZVAR로 설정합니다.
Exec 스포츠 토토 결과 Elif Tzname;
Exec 스포츠 토토 결과 TIGNAME TIMEZONE를 설정합니다.
Exec 스포츠 토토 결과 else;
Exec 스포츠 토토 결과 Timezone을 'GMT'로 설정합니다.
Exec 스포츠 토토 결과 endif;