c++ - 我的 C++ 目标文件太大

标签 c++ compiler-optimization filesize object-files

我正在开发一个 C++ 程序,从一个 1200 行的文件(它初始化一个相当复杂的状态机)编译的目标代码将近 1 兆字节。是什么使文件如此之大?有什么方法可以找到目标文件中占用空间的内容吗?

最佳答案

当目标文件大于最小值时,可能有多种原因:

  • 静态包含依赖库
  • 使用调试信息构建
  • 使用分析信息构建
  • 使用模板(可能是递归提升结构)创建(极其)复杂的数据结构
  • 在编译时不打开优化标志(保存不多,如果使用得太极端可能会造成困难)

首先,我建议检查您是否使用调试信息进行构建,这在我的经验中会导致最大的膨胀。

关于c++ - 我的 C++ 目标文件太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/470388/

相关文章:

c++ - 用于计时测试的大循环以某种方式优化为无?

python - 在 Python 中转换文件大小的更好方法

c++ - 使用 Qt 编辑 VBulletin 帖子

c++ - Derived from two Bases - 删除 vector **奇怪**问题

c++ - 如何在 Cython 中包装来自 C++ 的 std::shared_ptr 和 std::vector ?

c++ - 我可以依靠编译器查找和优化简单的 bool 循环不变量吗?

c# - 在获得 CPU 频率方面需要一些帮助

c++ - 为什么 std::fill(0) 比 std::fill(1) 慢?

perl - 如何输出当前目录下的空文件名?

ios - 减少 Unity 游戏 iOS 应用程序的大小