在哪里可以找到一个分析器来减少msvc++ /Windows上的二进制文件大小

Where can one find a profiler for reducing binary size on MSVC++/Windows?

本文关键字:msvc++ Windows 文件大小 二进制 分析器 一个 在哪里      更新时间:2023-10-16

我有很多用户使用拨号上网。而且我还要付带宽费。我有兴趣让我的应用变得更小,以帮助解决这两个问题;它现在大约是200k,但如果它在100-150k范围内就好了。

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

是否有任何免费的分析器存在,帮助目标二进制大小的问题?

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

当我用C/c++为嵌入式平台开发时,我曾经能够看到链接器的结果,特别是data/rodata/bss/code部分的大小(如果你不理解这些词,请参阅http://en.wikipedia.org/wiki/Data_segment),然后我可以深入到特定区域找到大元素。

通过谷歌"代码大小优化c++",我发现了一个现有的SO问题:减少c++代码大小,这似乎正是我的意思:"avr-gcc生成一个映射文件,这样你就可以看看它,看看是什么占用了这么多的空间。"

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

现在轮到你深入研究这些结果了!祝你好运!

GCC提供了一个减小大小的选项(- o),参见GCC(1)。不确定Visual Studio是否提供了类似的功能。

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