bcp: 给boost瘦身

boost是一个非常优秀的库。问及多数C++程序员为什么最终没有选择Boost的原因,均回答:Boost太大,过于Heavy。

是的。这也是我多数在用与不用Boost之间徘徊的原因。现在给大家介绍的这个bcp也许可以部分消除这样的不良影响,让我们有机会得以使用Boost这样优秀的库。

bcp的主页:http://www.boost.org/doc/libs/1_35_0/tools/bcp/bcp.html

The bcp utility is a tool for extracting subsets of Boost, it's useful for Boost authors who want to distribute their library separately from Boost, and for Boost users who want to distribute a subset of Boost with their application.

bcp can also report on which parts of Boost your code is dependent on, and what licences are used by those dependencies.

这是bcp对自己的描述。其最初目的是为了让Boost的作者们独立发布自己的库用的。

不过,有了bcp,对一个公司来说,又是另一个好消息。因为我们可以创建一个Boost子库,其中仅包含我们允许程序员用的哪些功能。从避免了依赖的不可控。

bcp的使用是简单的,假设我们允许程序员用A、B、C、D这样四个模块,那么我们可以这样:

bcp --boost:<boost-root-directory> A B C D <output-directory> 

这样我们就在<output-directory>生成了一个Boost子库。这个子库包含了A、B、C、D及所有他们依赖的模块。

这里A、B、C、D可以是:

  • Boost的头文件名。如: boost/shared_ptr.hpp
  • Boost的库名。如:regex
  • Boost的头文件标题:boost/shared_ptr 或者 shared_ptr

你可能感兴趣的:(c,report,library)