C++Visual Studio如何知道需要哪些依赖项

C++ Visual Studio how to know which dependencies are needed

本文关键字:依赖 Studio 何知道 C++Visual      更新时间:2023-10-16

我正在为客户端开发一个项目,使用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软盘已经完全过时了