Может ли установка boost испортить мои программы?

0

Я загрузил boost, и это массивный каталог из тысяч файлов. У меня есть gcc 3.4.5 - старая версия по сравнению с тем, что сейчас, но она работает с моими старыми программами, с которыми я продолжаю работать. Я подумывал о том, чтобы дать моим программам немного больше преимуществ, добавив повышение, особенно shared_ptr, кажется, прекрасное дополнение. Мой вопрос об установке boost может привести к тому, что мои программы не будут работать больше или будут файлы библиотеки boost полностью независимым объектом?

Теги:
boost

2 ответа

0
Лучший ответ

Если я правильно понял вопрос и не обращал внимания на проблемы с версией компилятора, то да. Библиотеки ускорения, которые не являются только заголовками, как правило, встроены из коробки в виде набора динамических библиотек (т.е. Набор файлов.dll,.so или.dylib в зависимости от платформы).

Поэтому создание и установка новой версии boost может испортить ваши существующие установленные программы в следующей ситуации:

  • если у вас уже установлены программы в вашей системе, эта ссылка на существующую версию некоторой библиотеки, не поддерживающей заголовок, во время выполнения

  • и если более новая версия имела изменения интерфейса или тонкие изменения в реализации

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

0

Я не совсем понимаю ваш вопрос. Вы говорите о распространении двоичных файлов? Вы можете связать boost статически и динамически. Если вы свяжете их статически, размер вашего двоичного файла немного побольше, но вы не зависите от системных библиотек. Это типичный способ сделать это с Windows. В системах на базе Linux ускорение обычно динамически связывается с системными библиотеками и, в целом, является очень надежным. Однако некоторые модули, такие как файловая система или program_options, имеют запись о несовместимых изменениях API.

Или вы говорите о совместимости с вашей древней версией компилятора? Boost не на 100% совместим с таким старым GCC, но основная функциональность должна работать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню