Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何缩短用原生Visual C+编写的大型项目的链接时间+;? 我正在用VisualC++编写大量的源代码。目标是dll库。链接时间需要几分钟。如何减少这一时间_C++_Visual Studio_Visual C++ - Fatal编程技术网

如何缩短用原生Visual C+编写的大型项目的链接时间+;? 我正在用VisualC++编写大量的源代码。目标是dll库。链接时间需要几分钟。如何减少这一时间

如何缩短用原生Visual C+编写的大型项目的链接时间+;? 我正在用VisualC++编写大量的源代码。目标是dll库。链接时间需要几分钟。如何减少这一时间,c++,visual-studio,visual-c++,C++,Visual Studio,Visual C++,库依赖于同一解决方案中的其他DLL和LIB 可以做的第一件事是将源代码拆分为几个项目,但这是一种耗时且非常昂贵的方法 可能还有其他一些方法可以用于我的情况 编辑:我使用增量链接,虽然这大大减少了时间,但这对我来说还不够。 对象文件的大小没有问题,因为最烦人的事情是开发这样的代码库。每一个小的修改都需要等待我的链接。如果您不使用增量链接,您应该研究一下。它基本上是在最终对象大小和链接性能之间进行权衡 全局优化选项还将编译时间(即代码生成)从编译阶段移到链接阶段-您可能会发现最好将其丢失,这样单个文

库依赖于同一解决方案中的其他DLL和LIB

可以做的第一件事是将源代码拆分为几个项目,但这是一种耗时且非常昂贵的方法

可能还有其他一些方法可以用于我的情况

编辑:我使用增量链接,虽然这大大减少了时间,但这对我来说还不够。
对象文件的大小没有问题,因为最烦人的事情是开发这样的代码库。每一个小的修改都需要等待我的链接。

如果您不使用增量链接,您应该研究一下。它基本上是在最终对象大小和链接性能之间进行权衡


全局优化选项还将编译时间(即代码生成)从编译阶段移到链接阶段-您可能会发现最好将其丢失,这样单个文件的编译速度较慢,但链接速度较快。

重构!!!将大型DLL拆分为较小的模块,使用接口层执行此操作,在将“大型”DLL拆分为较小的DLL时创建一个体系结构,而不是使用前5个文件等。仔细映射DLL层次结构。0级DLL是独立的,1级DLL可能依赖于1级或更高的0级,等等

这样做的努力会有回报,想象一下只有10个开发人员每天只等6分钟来链接,10*6==1小时*5天一周,这意味着你每周损失超过半天的开发时间,这应该足以让你从功能开发中解脱出来


此外,您还提到了库,如果您让源代码也制作这些DLL,那么在启用“编辑并继续”时,这将很快得到回报。

您可以尝试减少包含依赖项。 有些头会触发大量代码添加到.obj文件中,即使其中没有真正使用任何内容。
此类标题的一些示例是和

谢谢,我使用了此类方法,我正在寻找一些其他方法,也可以使用。