Доступны ли переменные и функции, определенные в предварительно скомпилированном заголовке проекта библиотеки, приложениям, использующим библиотеку?

Если проект библиотеки определяет некоторые переменные и служебные функции в своем stdafx.h / cpp, будут ли они видны в проектах приложений, построенных поверх библиотеки?

0

Решение

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

3

Другие решения

Нет, это деталь реализации только для библиотечного проекта. И, как правило, он не содержит декларации, предоставляемые библиотекой, они предоставляются файлом .h, который должен был быть #inclined в исходных файлах вашего собственного проекта. Библиотека stdafx.h может включите этот файл .h, он не очень распространен.

Вы используете свой собственный предварительно скомпилированный заголовок, если вы хотите #include библиотеки .h файл (ы), то это ваше дело. Полезно, только если вы используете декларации библиотеки в нескольких исходных файлах вашего собственного проекта и библиотека стабильна.

1

По вопросам рекламы [email protected]