stringtranslate.com

Только заголовок

В контексте языков программирования C или C++ библиотека называется header-only, если полные определения всех макросов , функций и классов, составляющих библиотеку, видны компилятору в виде заголовочного файла . [1] Для использования библиотеки header-only не требуется отдельной компиляции , упаковки и установки. Все, что требуется, — указать компилятору местоположение заголовков, а затем #include заголовочные файлы в исходный код приложения. Еще одним преимуществом является то, что оптимизатор компилятора может выполнять работу гораздо лучше, когда доступен весь исходный код библиотеки.

К недостаткам можно отнести:

Тем не менее, форма, состоящая только из заголовка, популярна, поскольку она позволяет избежать (часто гораздо более серьезной) проблемы упаковки.

Для шаблонов C++ включение определений в заголовок является единственным способом компиляции, поскольку компилятору необходимо знать полное определение шаблонов для создания экземпляра.

Ссылки

  1. ^ Уилсон, Мэтью (2004). Несовершенный C++ . Эддисон-Уэсли. стр. 177. ISBN 0-321-22877-4.