Параллельные вычисления в ИММ УрО РАН
 
 

Стиль языка и среда

Когда компилятор вызван, он определяет макрос C-препроцессора, который устанавливает язык входных файлов и среду, в которой код может идти. Можно обращаться к этим макросам в #ifdef операторе, чтобы отделить код, который обращается к особому языку или среде. Макросы C-препроцессора перечислены в следующей таблице. Тип стандартов, который вы задаете, и тип исходного файла устанавливают, какие макросы определены.


Макрос
__________________________________
__DECC (только -newc и -migrate)
LANGUAGE_C
__LANGUAGE_C__
unix
__unix__
__osf__
__alpha
SYSTYPE_BSD
_SYSTYPE_BSD
LANGUAGE_ASSEMBLY
__LANGUAGE_ASSEMBLY__
Тип исх.файла
___________________
.c
.c
.c
.c, .s
.c, .s
.c, .s
.c, .s
.c, .s
.c, .s
.s
.s
Флаг -std
_____________________________
-
-std0
-std0, -std, -std1
-std0
-std0, -std, -std1
-std0, -std, -std1
-std0, -std, -std1
-std0
-std0, -std, -std1
-std0, -std, -std1
-std0, -std, -std1

Вы можете явно определить макрос с флагом -D, чтобы контролировать, какие функции объявлены в заголовочных файлах, и какой стандарт языка проверяется.
Флаг -D контролирует, какие функции описаны в заголовочных файлах, флаги -stdn контролируют, как точно описания согласуются со стандартом ANSI C. Для строгого соответствия соглашениям ISO C и ANSI C строка команды компилятора должна включать флаг -std1.

Следующие переменные среды могут влиять на работу компилятора:

LANG
Обеспечивает значение по умолчанию для локальных переменных, которые не установлены. Если какая-то из этих переменных содержит неправильную установку, компилятор ведет себя так, как если бы ничего не было установлено.

LC_ALL
Если она установлена в непустую строку, эта переменная переопределяет значения во всех локальных переменных, включая LANG.

LC_CTYPE
Определяет место для интерпретации последовательностей байтов текстовых данных как символов (например, однобайтовая или многобайтовая кодировка символов в аргументах и входных файлах).

LC_MESSAGES
Определяет место для диагностических сообщений.

NLSPATH
Определяет путь к каталогам сообщений для обработки LC_MESSAGES.

TMPDIR
Задает имя каталога для временных файлов вместо используемого по умолчанию.