Для моих целей это просто то, что создает библиотеку буста для вас, я не знал, что вы могли бы сделать с ней что-то еще, поэтому я не понимаю, что вы могли бы сказать, переходя на нее. И извините, но я не знаю, что такое обычное варенье. Поскольку никто не дал ответа, я просто предоставлю свое понимание.
Boost представляет собой набор классов и функций для C ++, полезных для различных задач. Классы и функции boost сгруппированы в библиотеки. Некоторые из библиотек имеют весь свой код в заголовочных файлах, которые вы можете использовать просто с помощью оператора препроцессора #include, в то время как другие (такие как файловая система или библиотека регулярных выражений) имеют часть своей реализации в файлах .cpp.
Компиляция этих файлов .cpp может занять несколько лет (это может занять 30 минут в зависимости от того, что вы компилируете), и было бы очень больно, если бы каждый раз, когда вы хотели перекомпилировать программу, потребовалось полчаса. Так что они сделали только для тех библиотек, которые частично хранятся в файлах .cpp, вы можете предварительно скомпилировать их в файл .lib, и это является целью повышения варенья. Это означает, что вам нужно потратить всего полчаса на их сборку один раз , и с этого момента вам больше не придется ждать полчаса снова.
Однако, как вы можете себе представить, каждая библиотека наддува состоит из множества файлов cpp и заголовочных файлов, и у каждого из них есть разные варианты (отладочные версии, версии выпуска, многопоточность и т. Д.), И поэтому это не простой процесс, чтобы просто скомпилировать библиотеку Boost самостоятельно. Вот тут-то и происходит повышение варенья. Вы даете ему команду для компиляции библиотек, а затем она выдает все команды для вас компилятору, и к концу вы получите коллекцию предварительно скомпилированных файлов .lib, один для каждый другой вкус каждой библиотеки. Заголовочные файлы каким-то образом сообщают компоновщику, какие файлы lib следует включить, поэтому, если у вас настроены правильные пути, правильный вариант предварительно скомпилированного файла .lib будет автоматически связан с вашей программой, что сэкономит вам 30-минутную компиляцию.
Вы можете увидеть, какие библиотеки нужно скомпилировать с помощью boost jam, а какие нет, посмотрев на эту страницу: http://www.boost.org/doc/libs/1_37_0 - если библиотека не нуждается в файле lib (и, следовательно, не требует от вас сначала возиться с boost jam), на нем будет написано «Build & Link: только заголовок», тогда как если библиотека требует предварительной компиляции файла lib, будет написано «Build & Link: автоматическое связывание».
Кроме того, если вы работаете в Windows, вы можете загрузить предварительно скомпилированные файлы .lib, чтобы вам никогда не приходилось использовать boost jam. Чтобы получить это, вам нужно перейти на страницу www.boost.org, перейти в раздел «Приступая к работе» и пройти его до конца, просто чтобы убедиться, что все настроено правильно. Одна из ссылок в версии для Windows на этой странице говорит вам, где найти предварительно скомпилированные файлы .lib.