[P&AM Lab] Echo.c
    Grigoriy A. Sitkarev 
    sitkarev на komitex.ru
       
    Пн Дек  6 23:55:01 MSK 2010
    
    
  
Для примера, файл test.c, компилируйте с -DPRINT_MESSAGE и без, и 
посмотрите что будет. Попробуйте также задать символ для препроцессора 
через define в самом начале файла (после заголовков):
#define PRINT_MESSAGE
$ gcc -Wall -o test test.c
и
$ gcc -Wall -DPRINT_MESSAGE -o test test.c
Для препроцессора директивы if и ifndef соответственно проверка на то 
установлен ли такой символ или нет (if not defined). Там можно 
использовать и логическое НЕ, также как и в языке Си.
#if !PRINT_MESSAGE
Думаю теперь понятно зачем это нужно. Хотя вообще считается что 
использовать условную компиляцию нужно очень аккуратно, она затрудняет 
читаемость программы. Кроме того, получается что в одной программе их 
фактически две (или больше).
--
Г.А.
Борис Липин пишет:
> Григорий Александрович, здравствуйте.
> Возникла пара вопросов в процессе разбора сорсов echo. Основной алгоритм вроде бы понятен, но пара строчек всё же вызывает вопросы.
> Совсем не понятно что значит строка:  #if !ENABLE_FEATURE_FANCY_ECHO 
> и зачем вообще нужно было вводить ветвления #if.... #else...#endif.
----------- следущая часть -----------
A non-text attachment was scrubbed...
Name: test.c
Type: text/x-csrc
Size: 165 bytes
Desc: отсутствует
URL: <http://amplab.syktsu.ru/pipermail/lab/attachments/20101206/2b5b09a2/attachment.c>
    
    
Подробная информация о списке рассылки Lab