이제 임베디드 SQL C 프로그램을 구성하는 방법에 대한 아이디어를 얻었으므로 이를 컴파일하는 방법을 알고 싶을 것입니다. 컴파일하기 전에 포함된 파일을 통해 파일을 실행합니다.SQL C전처리기, 이는SQL특수 함수 호출에 사용한 명령문입니다. 컴파일한 후에는 필요한 기능이 포함된 특수 라이브러리와 연결해야 합니다. 이 함수는 인수에서 정보를 가져오고 다음을 수행합니다.SQL명령을 사용하여libpq인터페이스를 실행하고 출력에 지정된 인수에 결과를 넣습니다.
전처리기 와이즈 토토이 호출됩니다.ecpg노멀에 포함되어 있습니다포스트그레SQL설치. Embedded SQL 프로그램은 일반적으로 확장자로 이름이 지정됩니다..pgc. 다음과 같은 프로그램 파일이 있는 경우prog1.pgc, 간단히 다음을 호출하여 전처리할 수 있습니다.
ecpg prog1.pgc
이렇게 하면 다음과 같은 파일이 생성됩니다.prog1.c. 입력 파일이 제안된 명명 패턴을 따르지 않는 경우, 다음을 사용하여 출력 파일을 명시적으로 지정할 수 있습니다.-o옵션.
전처리된 파일은 정상적으로 컴파일될 수 있습니다. 예를 들면 다음과 같습니다:
cc -c prog1.c
생성된 C 소스 파일에는 다음의 헤더 파일이 포함됩니다.포스트그레SQL설치, 따라서 설치한 경우PostgreSQL기본적으로 검색되지 않는 위치에는 다음과 같은 옵션을 추가해야 합니다.-I/usr/local/pgsql/include컴파일 명령줄로.
Embedded SQL 프로그램을 연결하려면 다음을 포함해야 합니다.libecpg라이브러리, 이렇게:
cc -o myprog prog1.o prog2.o ... -lecpg
다시, 다음과 같은 옵션을 추가해야 할 수도 있습니다-L/usr/local/pgsql/lib해당 명령줄로.
당신은 사용할 수 있습니다pg_config또는pkg-config패키지 이름 포함libecpg설치 경로를 얻으려면.
다음을 사용하여 대규모 프로젝트의 빌드 프로세스를 관리하는 경우만들다, makefile에 다음과 같은 암시적 규칙을 포함하는 것이 편리할 수 있습니다.
ECPG = ecpg
%.c: %.pgc
$(ECPG) $<
의 전체 구문은ecpg명령에 대한 자세한 내용은ecpg.
그ecpg라이브러리는 기본적으로 스레드로부터 안전합니다. 그러나 클라이언트 코드를 컴파일하려면 일부 스레딩 명령줄 옵션을 사용해야 할 수도 있습니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.