当前位置: 首页>>技术教程>>正文


ubuntu – Boost.Thread链接-boost_thread与boost_thread-mt

, , ,

问题描述

我不清楚Boost.Thread 1.34.1库存在哪些链接选项。我在Ubuntu 8.04上,并且发现在链接同时编译和运行时使用boost_threadboost_thread-mt时,但在这些链接或上面链接中的任何其他链接选项上都看不到任何文档。

有哪些Boost.Thread链接选项可用,它们是什么意思?

最佳方法

好…

首先有趣的是,名称中的-mt修饰符表示该库对于多线程而言是可以的。这可能使我们相信boost_thread(不带此修饰符)可能是multithread-unsafe …

但是真正的事情是(如在我自己的Ubuntu 10.04盒子上看到的那样),boost_threadboost_thread-mt的软链接,这意味着两者是相同的。

如果要验证它,可以在ubuntu上打开一个控制台(将控制台全屏显示,因为名称很长),然后键入:

cd /usr/lib

移至Boost库所在的目录。接着:

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-variants.html#library-naming

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7929.html,未经允许,请勿转载。