Один из самых важных правил и рекомендаций при написании библиотеки - это положить все символы
библиотеки в библиотечное пространство имен. С++ делает это проще, благодаря ключевому слову namespace
. В
C обычным подходом является префикс идентификаторов с некоторым конкретным префиксом библиотеки.
Правила стандарта C ставят некоторые ограничения на эти (для безопасной компиляции): компилятор C может смотреть только на первый
8 символов идентификатора, поэтому foobar2k_eggs
и foobar2k_spam
можно интерпретировать как одно и то же
идентификаторы действительны - однако каждый современный компилятор допускает произвольные длинные идентификаторы, поэтому в наше время
(21 век), мы не должны беспокоиться об этом.
Но что, если вы сталкиваетесь с некоторыми библиотеками, из которых вы не можете изменить имена /idenfiers? Может быть, вы получили только статические двоичные файлы и заголовки или не хотят, или им не разрешено настраивать и перекомпилировать себя.