C++Visual Studio如何知道需要哪些依赖项
C++ Visual Studio how to know which dependencies are needed
我正在为客户端开发一个项目,使用MDd代码生成选项(动态链接visual studio DLL),文件大小约为25kb。
当我生成MTd代码(静态链接visual studio DLL)时,文件大小要大得多,大约725kb。
我如何准确地找出需要哪些DLL,并手动静态链接它们,使我的文件大小没有725kb那么大,但仍然能够在不需要visual studio运行时DLL的情况下运行?
编写链接器的人并不是十足的白痴。如果它在你的可执行文件中包含725K,那是因为你(直接或间接)在你的执行文件中使用了725K的代码。
不过,还有一个小细节需要考虑。"MDd"answers"MTd"听起来很像是在可执行文件中包含调试信息。如果是这种情况,请考虑删除调试信息的可能性。这可以(通常将)大大减小可执行文件的大小。
如果你想处理它,你很有可能会进一步缩小大小,但这不会是通过尝试更好地完成链接器的工作。它将通过重写您的代码,使其不依赖于太多的外部代码。这可能不是一项微不足道的任务。你必须问问自己,节省500Kb是否值得。在某个时期(30年前),这可能不会有太多问题。如今,即使花一两个小时来节省约50万美元,充其量也听起来有点可疑(至少在大多数情况下是这样)。
为什么725K是一个问题?你需要把你的可执行文件放在一张360K的软盘上吗1
1.幽默受损者的隐藏字幕:是的,我意识到360K软盘已经完全过时了
相关文章:
- 使用 Git 处理 C++ Visual Studio 2019 解决方案的外部依赖项源代码管理的最佳方法是什么?
- 使用 NuGet 填充 Visual Studio 2019 中的 CMake 依赖项
- 更新 Visual Studio 2017,现在出现编译错误 C7510:"回调":使用依赖模板名称必须以 'template' 为前缀
- CMake:如何在Visual Studio环境中将依赖于模式的编译标志传递给nvcc
- 如何在没有任何依赖库的情况下在Visual Studio中构建dll?
- 如何在Visual Studio(C++11)中处理相互依赖/循环依赖
- Visual Studio:用户依赖定义
- 从 Visual Studio 2017 中生成的依赖项中排除头文件
- 在Visual Studio中相互依赖的项目的并行汇编
- 将库与NuGet包链接为Visual Studio中的依赖项
- C++Visual Studio如何知道需要哪些依赖项
- Visual Studio 2017-禁用依赖项的CMAKE
- Visual Studio 中C++代码的变量依赖关系图
- Visual Studio/C++:基于启动调试模式生成的非依赖项目的生成
- 如何摆脱Visual Studio 2013 dlls依赖项?
- Visual Studio中的多个依赖的本地项目
- 使用Visual Studio 11 RC调试时找不到DLL依赖项
- 如何在Visual Studio中将项目依赖项/引用从一个项目继承到依赖项目
- Visual Studio 2015中Visual C++开发中的Jar依赖项
- 如何在Visual Studio中构建具有不同依赖关系版本的多个产品