Обращение к прекомпилятору
Для вызова РСС необходимо в интерпретаторе команд операционной системы подать команду:
PCC [-{M|E|L|I}ASDTOJWVC[+] P{<число точек входа>}]
[[-N <имя сервера>]
-U <имя пользователя>[/<пароль>]]<входной файл> [<выходной файл>]
Описание
-
C– задает основной язык C (этот параметр используется по умолчанию). -
C+– задает основной язык С++. -
D– задает генерацию отладочной информации (вставляет директиву#lineна каждой строке, содержащей оператор встроенного языка). Генерация отладочной информации позволяет просматривать в отладчике прекомпилируемый, а не результирующий текст программы. По умолчанию она отключена. -
J– режим совместимости с ESQL СУБД Ingres. -
W– получить версию прекомпилятора. -
O– задает Oracle метод обработки кодов завершения. При задании этого ключа в тексте C/C++ программы будут генерироваться коды для проверки кодов завершения через значение поляsqlca.sqlcode, при отсутствии ключа проверка кодов завершения будет выполняться через глобальную переменнуюErrPCI_. -
A– задает режим запрета заполнения коммуникационной областиsqlca(действителен только при отсутствии опции-O). -
T– разрешает использовать директивы управления многопоточностью (ENABLE THREADS,CONTEXT {ALLOCATE | USE | FREE}). -
N<имя сервера>– задает имя удаленного ЛИНТЕР-сервера. -
U<имя пользователя/пароль>– задает имя и пароль, под которыми прекомпилятор будет иметь доступ к БД как пользователь (большие и малые буквы при вводе имени и пароля пользователя различаются). -
S– задает режим проверки семантики предложений встроенного SQL. Этот ключ должен использоваться, если предполагается создание хранимых процедур непосредственно в процессе прекомпиляции модуля. Иначе эта опция не должна использоваться. -
M,E,L,I– задают область видимости области описания дескрипторов (переменнаяsqlda):-
M– главный модуль: переменнаяsqldaописана и инициализирована в нем; -
E– переменнаяsqldaвнешняя по отношению к модулю; -
L– переменнаяsqlda, заданная в модуле, локальная; -
I– переменнаяsqlcaимпортируется из библиотеки.
-
-
V– задает режим совместимости со старой версией PCI по исполнению операторовPREPARE,OPEN,FETCH.
Примечания
-
Буквенные коды ключей допустимо задавать большими и малыми буквами.
-
Если указывается одновременно несколько ключей, все они пишутся слитно, и знак дефиса ставится один раз перед всей группой ключей, например:
-cdo. Исключение составляют ключи-nи-u, которые должны вводиться отдельно. -
Если используется ключ
-s, обязательно должны задаваться ключи-n(только для удаленного сервера, не объявленного сервером по умолчанию),-u. -
Параметр
<входной файл>задает спецификацию файла, содержащего исходный текст прекомпилируемой программы. Если расширение имени файла не задано, по умолчанию используется.pc. -
Параметр
<выходной файл>задает спецификацию файла, в который должен быть помещен результат прекомпиляции (исходный текст программы на языке С). Если спецификация выходного файла не задана, то он создается в текущем каталоге, а его имя совпадает с именем входного файла. Если расширение имени выходного файла не задано, оно берется равным.c, если основным языком является C, или.cpp, если основным языком является C++.
Примеры
-
pcc -c sample.pc (выходной файл sample.c)
-
pcc -c+ sample.pc (выходной файл sample.cpp)
-
pcc -dc+ sample.pc (выходной файл sample.cpp с отладочной информацией)
-
pcc sample.pc sample1.cpp (входной файл sample.pc, выходной файл sample1.cpp)
-
pcc -c+s –nLinter -uSYSTEM/MANAGER8 sample.pc (выходной файл sample.cpp; пользователь SYSTEM с паролем MANAGER8 подключается к ЛИНТЕР-серверу)