为什么生成pdb文件会增加本机c++ exe文件的大小?
visual studio 2008 - Why does generating pdb files increase the size of my native C++ exe?
只要打开配置属性>链接器>调试>生成调试信息我的exe的大小已经从2.11MB增加到2.34MB
-
额外的~230KB是用来做什么的?我认为exe应该大致相同的大小(给予或采取额外的路径到pdb文件),但不是那么多。这种"膨胀"会对性能造成影响吗?
-
我也看到配置属性>C/c++>通用>调试信息格式在发布模式下设置为禁用,而pdb文件设置为生成,有什么原因会这样吗?从我可以告诉exe是相同的大小-它只是PDB变得更大,当你启用程序数据库,我看不出这个问题,但我想确保没有一些我错过考虑程序数据库是默认的新项目在发布配置。
可执行文件大小的增加可能是由于编译器包含了本来会被优化掉的代码。试着链接/OPT:REF,看看这是否会使大小恢复到原来的大小。
对于性能的影响,应该不是很大。膨胀可能会导致代码缓存效率降低,但在大多数情况下可以忽略不计。
EXE的大小可能与性能完全无关。
不只是PDB文件的路径,而是可执行文件的图像头中的"Debug",内部GUID以确保在调试/崩溃调试时加载正确的PDB文件。
相关文章:
- 终端不会为C++文件创建.exe文件吗
- 从 exe 文件 (Visual Studio ) 启动时调试断言失败
- 1d.exe找不到SFML文件?
- VI工作室代码错误无法打开输出文件主.exe
- 如何在Visual Studio Code中重命名我的a.exe文件?
- 在VS Code中编译C / C ++时如何禁用自动创建EXE文件?
- 如何从Windows控制台调用.exe(C++)以在不同的目录(或任何目录)中创建文件夹?
- 来自Visual Studio中控制台项目的exe文件?
- 在安卓应用程序中使用.exe文件
- 我应该如何获取配置文件的绝对路径与 Windows .exe一起发布?
- VS:在构建/exe中包含资源文件
- gcc 找不到 -lgcc, g++.exe: 错误: 创建进程: 没有这样的文件或目录
- 无法在代码块 IDE 中打开输出文件.exe
- 从Visual Studio项目到文件.exe(Qt)
- Mac - 创建文件.exe
- 通过php(LINUX)运行Qt生成的可执行文件(EXE)
- 找不到文件.exe
- 无法打开文件.exe 1104
- 一个文件可以同时是可执行文件(EXE)和动态链接库(DLL)吗?
- 将.cpp文件编译为程序内的EXE文件(EXE文件)