在哪里可以找到一个分析器来减少msvc++ /Windows上的二进制文件大小
Where can one find a profiler for reducing binary size on MSVC++/Windows?
我有很多用户使用拨号上网。而且我还要付带宽费。我有兴趣让我的应用变得更小,以帮助解决这两个问题;它现在大约是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是否提供了类似的功能。
我猜你已经把压缩的二进制文件发送给你的客户了。
- 了解 C/C++ 中 Windows / MSVC 的一些反调试内联 asm
- 相当于Windows/MSVC上的段错误?
- Godbolt 在 MSVC 上包含 Windows.h 时无法链接?
- 使用 CMake 在 Windows(MSVC) 中查找库
- 在Windows(MSVC)上为C++设置VSCode
- 可以在linux程序中使用msvc在windows上构建的boost lib吗
- 视觉将C GRPC与Windows/MSVC上的Bazel集成
- 在MSVC Windows表单中使用DLL中创建回调
- 使用MSVC 2015上的Windows上使用Google测试
- 在 MSVC 中将某些库的目标平台版本设置为 10.x 是否使程序与在 Windows Vista/7/8 上运行不兼容
- 我的程序在Windows上使用MSVC和G 编译器运行,但在Linux上不运行
- 使用Windows函数SendMessage会导致与MSVC发生链接错误,但与MinGW不发生链接错误
- 如何在 Windows 上使用 Vim 运行 “:compiler msvc” 和 “:comp msbuild”
- valarray在gcc和msvc(或者Linux和Windows)中有什么不同
- GCC值得在Windows上使用以取代MSVC
- 在windows上编译MSVC是严格必要的吗?
- 在哪里可以找到一个分析器来减少msvc++ /Windows上的二进制文件大小
- 在Windows中创建共享库(使用MSVC编译器)
- 在Windows上使用msvc 2013构建qt 5.7时编译错误
- Qt 5.5 MSVC 2013.获取Windows系统托盘几何图形时遇到麻烦