哪里可以找到用于减少MSVC ++ / Windows上二进制大小的分析器?

时间:2011-10-19 14:53:25

标签: c++ windows visual-c++ profiling filesize

我有很多使用拨号的用户。另外,我正在为带宽付费。我有兴趣让我的应用程序更小,以帮助解决这两个问题;它现在大约在200k左右但如果它在100-150k范围内会很好。

但是,我不知道我的二进制文件中的哪些构造和位置使用的是最大的大小,这使得这很难调整。

是否存在任何有助于解决二进制大小问题的免费分析器?

3 个答案:

答案 0 :(得分:3)

当我使用C / C ++开发嵌入式平台时,我曾经能够看到链接器的结果,特别是数据/ rodata / bss /代码部分的大小(如果你不喜欢,请参阅http://en.wikipedia.org/wiki/Data_segment不理解那些话,然后我可以潜入特定区域找到大元素。

通过Google搜索“代码大小优化c ++”,我发现了一个现有的SO问题:Reducing C++ code size这似乎与我的意思完全相同:“avr-gcc会生成一个地图文件,以便您可以查看它并查看什么占据了这么多空间。“

通过谷歌搜索“代码大小分析器c ++”我发现这个页面有关代码大小:http://www.murrayc.com/blog/permalink/2006/02/15/c-code-size/有一个有趣的评论,而不是导致DWARF实用程序也可以这样做:http://reality.sgiweb.org/davea/dwarf.html

现在轮到你了解这些结果!祝你好运!

答案 1 :(得分:3)

Visual Studio可以选择生成一个地图文件,该文件将显示分配给程序每个部分的地址。在项目属性中,Linker->Debugging->Generate Map File

答案 2 :(得分:1)

GCC提供了一个缩小尺寸的选项(-Os),请参阅gcc(1)。不确定Visual Studio是否提供类似的东西。

我也猜测你已经把压缩二进制文件发送给你的客户了。