Boost.Thread ссылки - Boost_Thread vs. boost_thread-mt
-
27-09-2019 - |
Вопрос
Мне не ясно, какие варианты связывания существуют для Boost.Thread 1.34.1 библиотека. Я на Ubuntu 8.04, и я обнаружил, что при использовании либо boost_thread
или boost_thread-mt
Во время соединения как компиляции, так и запуска, но я не вижу никакой документации по этим или любым другим параметрам связывания выше ссылки.
Какие варианты связывания BOOST.THREAD доступны и что они имеют в виду?
Решение
Хорошо...
Первая забавная вещь в том, что -mt
Модификатор в названии - указать, что библиотека в порядке для многопоточничества. Что может привести нас к веществу, что boost_thread
(Без этого модификатора) может быть небезопасным ...
Но реальная вещь, что (как видно на моей коробке Ubuntu 10.04), boost_thread
это мягкая ссылка на boost_thread-mt
, что означает, что два являются одним и тем же.
Если вы хотите проверить его, вы можете открыть консоль на вашу ubuntu (сделайте консоль FullShreen, потому что имена длинные), затем введите:
cd /usr/lib
Перейти к каталогу, где есть библиотеки повышения. А потом:
ls -l ./libboost_thread*
Который будет перечислять все файлы, начиная с libboost_thread
, с дополнительной информацией. Результатом будет что-то вроде:
[...] ./libboost_thread.a
[...] ./libboost_thread-mt.a -> libboost_thread.a
Как вы видете, libboost_thread.a
это статическая библиотека, а также libboost_thread-mt.a
это мягкая ссылка на libboost_thread.a
Другие советы
Для подробной справки схемы именования библиотеки Boost см.: http://www.boost.org/doc/libs/release/more/getting_started/unix-varyts.html#Library-Naming.htming.