Насколько по-разному директивы компилятора и директивы препроцессора обрабатываются компилятором - PullRequest
0 голосов
/ 14 июня 2011

В Си мне было интересно, как по-разному директивы компилятора и директивы препроцессора обрабатываются / реализуются компилятором, таким как GCC?Спасибо!

По директивам компилятора они имеют следующий вид:

OpenMP (Open Multi-Processing) - это интерфейс прикладного программирования (API), который поддерживает многоплатформенное многопроцессорное программирование с общей памятьюв C, C ++ и Fortran на многих архитектурах, включая платформы Unix и Microsoft Windows.Он состоит из набора директив компилятора , библиотечных подпрограмм и переменных среды, которые влияют на поведение во время выполнения.

Ответы [ 3 ]

3 голосов
/ 14 июня 2011

Компилятор обрабатывает директивы препроцессора, как указано в C99 раздел 6.10.

1 голос
/ 14 июня 2011

Что касается препроцессора, см. Ответ Пита Уилсона. Что касается директивы #pragma, то в Wikipedia есть следующее:

Директива #pragma - это директива, специфичная для компилятора, которую поставщики компилятора могут использовать в своих целях.

1 голос
/ 14 июня 2011

Компиляторы не обрабатывают директивы препроцессора; препроцессоры делают это. Как только препроцессор завершает работу, он передает свой вывод компилятору, который может интерпретировать директивы компилятора (например, #pragma s), как он считает нужным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...