微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

提高足迹

如何解决提高足迹

我想通过考虑跨平台应用程序,使用boost lib进行boost进程间,Logger,JSON和XML解析。我看到boost头的总大小约为126 MB,而构建boost库的大小约为156 MB。总计(126 + 156 = 282 MB)。我觉得这对我的系统来说有点累。确实增强了选择性组件的支持,因此我只需要构建用于进程间,JSON和XML解析的库。 换句话说,如何减小库的大小?

解决方法

在实践中,我并未发现使用您命名的这些库会产生太大的二进制文件。 (免责声明:我在生产中不使用Boost Log,所以在那里我可能会感到惊讶)。

更重要的是:请勿将Boost用于您的JSON或XML需求。您可以将其用于属性树需求,但Boost不具有XML或JSON支持。由于您对问题的措辞方式似乎对我来说就像您不知道属性树对JSON / XML施加的严格限制(例如,Parsing XML's with Boost PTree w/o tags)。

除了Boost Log之外,您提到的大多数库都是(或可以是)标头。因此,您只需要Boost Log +依赖项。您甚至可以配置一些选项来减小大小:https://www.boost.org/doc/libs/1_73_0/libs/log/doc/html/log/installation/config.html。我认为建议的示例

bjam --with-log variant=release define=BOOST_LOG_WITHOUT_EVENT_LOG define=BOOST_USE_WINAPI_VERSION=0x0600 stage

将已经跳过所有不需要的非仅头文件的库。当然,请确保从干净的登台目录开始以查看结果。

最后可能会减小磁盘上标头的大小,您可以尝试使用BCP来实现这一点,因为该原因。我不会打扰,因为这是多余的工作和复杂性,没有好处,IMO。

一些提示:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?