[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