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