Обращение к прекомпилятору
Для вызова РСС необходимо в интерпретаторе команд операционной системы подать команду:
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 подключается к ЛИНТЕР-серверу)