LINUX.ORG.RU

История изменений

Исправление Iron_Bug, (текущая версия) :

бывает, что и libc-шные. ну или кернельные. было такое, например, на моей памяти: netsnmp конфликтовала с кернельным макросом. написала разработчику netsnmp - он пофиксил конфликт, переименовав макрос у себя. но это действительно редкость.

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

Исходная версия Iron_Bug, :

бывает, что и libc-шные. ну или кернельные. было такое, например, на моей памяти: netsnmp конфликтовала с кернельным макросом. написала разработчику netsnmp - он пофиксил конфликт, переименовав макрос у себя. но это действительно редкость.

конечно, можно включать разные хэдеры, но не всегда это возможно и/или удобно. но такие конфликты встречаются действительно редко.