Visual c++ MS Visual Studio中的部分链接? 我在MS-Visual Studio 2005中构建大型C++应用程序时,试图减少链接时间。我的链接时间目前是7到100秒,通常接近7秒(但这似乎取决于运气)

Visual c++ MS Visual Studio中的部分链接? 我在MS-Visual Studio 2005中构建大型C++应用程序时,试图减少链接时间。我的链接时间目前是7到100秒,通常接近7秒(但这似乎取决于运气),visual-c++,build-process,static-linking,Visual C++,Build Process,Static Linking,我的应用程序由大约20个静态库组成,其中一个很大,很少更改,并且依赖于一个大的第三方库,我的任何其他库都不使用这个库。我认为这是一个典型的情况,部分链接将提高构建时间。“部分链接”指的是ld-r在Linux上所做的任何事情 是否可以使用MS Visual Studio进行“部分链接”?我没有在他们的文档中找到它,但可能他们给它起了不同的名字,或者它是一个隐藏的特性 我对部分链接的猜测有意义吗?它真的有可能对我有所帮助吗?通过/INCREMENTAL开关你在寻找什么 您可以做的另一件事是执行额外级

我的应用程序由大约20个静态库组成,其中一个很大,很少更改,并且依赖于一个大的第三方库,我的任何其他库都不使用这个库。我认为这是一个典型的情况,部分链接将提高构建时间。“部分链接”指的是
ld-r
在Linux上所做的任何事情

是否可以使用MS Visual Studio进行“部分链接”?我没有在他们的文档中找到它,但可能他们给它起了不同的名字,或者它是一个隐藏的特性

我对部分链接的猜测有意义吗?它真的有可能对我有所帮助吗?

通过
/INCREMENTAL
开关你在寻找什么


您可以做的另一件事是执行额外级别的间接寻址:将静态lib包装到DLL中,并通过DLL公开应用程序使用的任何内容。然后,可以非常不频繁地构建该DLL,并且与之链接的成本可能要低得多。

这似乎微不足道,但我的解决方案是使用模块定义文件(
foo.def
)。 微软的建议意味着它应该只用于DLL文件,但它也适用于静态库,因此我不得不将我的库更改为DLL


这将我的最小链接时间从7秒减少到2秒(可能也有助于平均链接时间)。

我已经使用了增量链接。如果这相当于我所要求的,我就倒霉了。