Обсуждение:Препроцессор Си

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Зависание препроцессора

[править код]

Препроцессор может и успешно виснет при такой, например, конструкции:

 // 1.c
 #include "1.c"
 void f(){}
 // 2.c
 #include "2.c"
 void g(){}

Команда

 gcc 1.c 2.c

входит в бесконечный цикл
Ktulhy 22:42, 18 июня 2014 (UTC)[ответить]

А еще
 При обнаружении директивы #include последовательность-лексем   не совпадающей ни с одной из предыдущих форм, рассматривает последовательность лексем как текст, который в результате всех макроподстановок должен дать #include <...> или #include "...". Сгенерированная таким образом директива далее будет интерпретироваться в соответствии с полученной формой.

так что неполнота по Тьюрингу не очевидна... FeelUs 16:47, 5 марта 2016 (UTC)[ответить]