为什么BOOST.PROGROGROGOTIONS不仅仅是标头

Why is Boost.ProgramOptions not header-only?

本文关键字:不仅仅是 PROGROGROGOTIONS BOOST 为什么      更新时间:2023-10-16

有些提升库仅是标题,有些不是,出于各种原因等。

是否有特定的原因/设计决定,为什么Boost.ProgramOptions不仅限标题?

我想知道,因为它声称是文档中的"小"库,我看不到任何与系统有关的原因(例如线程或ASIO)。

程序选项声称很小,但事实证明这是我们构建的第二大图书馆,仅次于Regex。(它比Boost文件系统和线程库还大。)我相信您应该很高兴他们为它构建了一个库,而不是用大量包含的标头扼杀您的项目。也许作者认为当他开始时它会很小,并且在继续增长并添加功能时忘了更改评论。

并非所有的C 代码都可以仅在标题中写入标题。

例如,类的static成员的存储保留需要完全在一个翻译单元中(尽管未来的C 标准可能会避免)。

最初的意图是仅仅是要成为标题,但他们必须迅速放弃这种愿望。

相关文章: