包括boost函数.hpp,而不使用它,会使我的二进制文件的大小增加200k.为什么?
Including boost function.hpp, without using it, increases the size of my binary by 200k. Why?
我正在开发一个嵌入式处理器,所以二进制大小非常重要。我尽量避免使用标准库。不过,我想使用std::函数。我从boost中提取了"function.hpp",并试图使用它,但简单地包含function.hpp会增加我的二进制200k的大小,这使它比我的处理器所能接受的更大。如果我包括标准库,它只会增加我的二进制60k。我想不通,如果我还没有使用任何模板,就不会有任何开销。即使我这样做了,我也无法想象它有价值20万的代码。我使用的是gcc 4.7,我已经禁用了可以告诉"-g0"的调试信息,并启用了优化"-O2"。
任何帮助都将不胜感激。
GCC在编译的二进制文件中包含一些符号信息,即使使用-g0
也是如此。为了真正消除所有符号,应该为链接器使用--strip-all
命令行选项。
此外,由于可执行文件的大小对您来说很重要,请考虑编译器使用-fdata-sections
和-ffunction-sections
,链接器使用--gc-sections
。
相关文章:
- 正在读取二进制文件(is_open)
- 在C++中将类(带有Vector成员)保存为二进制文件
- 如何从二进制文件中读取字符串
- 保存/加载大量短数组到二进制文件
- 从二进制文件中读取整数数组
- Android 在编译二进制文件时重建静态库
- 在 C++ 中将双精度变量写入二进制文件
- clang 的 libFuzzer 可以在同一二进制文件中测试超过 1 个 API 吗?
- C++:实际上不是从二进制文件中读取
- 如何从二进制文件中的给定符号中获取调用程序图
- 将内部带有矢量的结构保存/读取到二进制文件中
- 编译多个C++文件.调用二进制文件以运行代码
- 如何使用位字段将数据从二进制文件复制到结构中?
- uint8_t同一二进制文件的不同十进制值
- C++单个生成文件多个二进制文件
- 尝试将数字写入二进制文件时引发异常
- C++中读/写二进制文件
- 为什么链接到 LIB 会显著增加二进制文件的大小
- boost enable_shared_from_this特性是否给二进制文件增加了太多的大小?
- 包括boost函数.hpp,而不使用它,会使我的二进制文件的大小增加200k.为什么?