이 섹션은 방법을 설명합니다ECPG내부적으로 작동합니다. 이 정보는 할 수 있습니다 때때로 사용자가 사용 방법을 이해하도록 돕는 데 유용합니다ECPG.
처음 4 줄에 의해 작성되었습니다ECPG출력에는 고정 라인이 있습니다. 두 개는 의견이며 두 개는입니다 라이브러리 인터페이스에 필요한 줄을 포함하십시오. 그럼 사전 처리기는 파일을 읽고 출력을 씁니다. 보통 그것은 단지 모든 것을 출력에 반향합니다.
Exec 스포츠 토토 사이트진술, 개입하고 변경합니다. 명령은로 시작합니다.Exec 스포츠 토토 사이트;. 그 사이의 모든 것은로 취급됩니다.스포츠 토토 사이트진술 및 변수에 대한 구문 분석 치환.
가변 대체는 기호가 결장으로 시작할 때 발생합니다. (:). 해당 이름의 변수는입니다 이전에 선언 된 변수 중에서 찾았습니다 A 내에서Exec 스포츠 토토 사이트 선언섹션.
라이브러리에서 가장 중요한 기능은입니다.ecpgdo
명령. 가변적인 수의 인수가 필요합니다. 이것은 할 수 있습니다
쉽게 50 정도의 논쟁을 추가하면 이것이 그렇지 않기를 바랍니다.
모든 플랫폼의 문제.
인수는 다음과 같습니다.
이것은 원래 줄의 줄 번호입니다. 사용 오류 메시지 만.
이것이스포츠 토토 사이트발행 될 명령. 입력에 의해 수정됩니다 변수, 즉 알지 못하는 변수 시간을 컴파일하지만 명령에 입력해야합니다. 어디 변수는 문자열이 포함되어야합니다?.
모든 입력 변수로 인해 10 개의 인수가 생성됩니다. (아래 참조)
anenum더 많은 입력 변수.
모든 출력 변수로 인해 10 개의 인수가 발생합니다 생성. (아래 참조)이 변수는 다음으로 채워집니다 기능.
anenum더 많은 변수.
의 일부인 모든 변수에 대해스포츠 토토 사이트명령, 함수는 10을 얻습니다 인수 :
특수 기호로 유형.
값 또는 포인터에 대한 포인터에 대한 포인터.
변수의 크기는입니다.char또는Varchar.
배열의 요소 수 (배열의 경우 가져 오기).
배열의 다음 요소로의 오프셋 (배열 용. 가져 오기).
특별한 지표 변수의 유형 상징.
지표 변수에 대한 포인터.
0
표시기 배열의 요소 수 (배열의 경우 가져 오기).
표시기 배열의 다음 요소로의 오프셋 (for 배열 가져 오기).
모든 스포츠 토토 사이트 명령이 이러한 방식으로 처리되는 것은 아닙니다. 을 위한 인스턴스, 개방형 커서 문화 :
Exec 스포츠 토토 사이트 Open커서;
는 출력에 복사되지 않습니다. 대신, 커서의선언명령은의 위치에서 사용됩니다.Open실제로 열기 때문에 명령 커서.
다음은 다음의 출력을 설명하는 완전한 예입니다. 파일의 전처리foo.pgc(세부 사항 각각의 특정 버전으로 변경 될 수 있습니다 사전 처리기) :
exec 스포츠 토토 사이트 시작 선언 섹션; int index; int 결과; Exec 스포츠 토토 사이트 END DELLARE SECTION; ... exec sql res를 선택하십시오 : mytable에서 결과적으로 index = : index;
로 번역됩니다.
/ * ECPG에 의해 처리 됨 (2.6.0) */ / *이 두 포함 파일은 사전 처리기에 의해 추가됩니다 */ #include <ecpgtype.h; #include <ecpglib.h; / * EXEC 스포츠 토토 사이트 시작 선언 섹션 */ #line 1 "foo.pgc" int index; int 결과; / * EXEC 스포츠 토토 사이트 종료 선언 섹션 */ ... ecpgdo (__ line__, null, "mytable에서 reS를 선택하여 index =?", ecpgt_int, & (인덱스), 1l, 1l, sizeof (int), ecpgt_no_indicator, null, 0l, 0l, 0l, ecpgt_eoit, ecpgt_int, & (결과), 1l, 1l, sizeof (int), ecpgt_no_indicator, null, 0l, 0l, 0l, ecpgt_eort); #line 147 "foo.pgc"
(여기서의 인기는 가독성을 위해 추가됩니다 전처리자가하는 일.)