[P&AM Lab] Пример для разбора исходного кода - cat(1) из BSD 4.2

Grigoriy A. Sitkarev sitkarev на komitex.ru
Пт Дек 10 01:00:20 MSK 2010


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

Когда же возражали что дескать, макросы быстрее чем функции, у функции 
надо формировать кадр вызова и т.д., то здесь был ответ такой что в 
таком случае лучше используйте inline функции.

Сами макросы не устарели, просто с ними надо осторожно. Осторожно.

--
Г.А.

Kargin Ruslan пишет:
>  Использование же макросов считается устаревшим стилем из-за проблем,
> которые они обычно с собой несут, хотя в данном случае их нет. Подробнее
> можно почитать в 1.4 и 1.5 книги Б.Керниган, Р. Пайк. "Практика
> программирования".
> 
>  P.S. Надо бы тут заканчивать, а то положим список =)
> 
> 
> _______________________________________________
> Lab mailing list
> Lab на wiki.syktsu.ru
> http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab





Подробная информация о списке рассылки Lab