简体   繁体   English

Incredibuild链接

[英]Incredibuild linking

i use incredibuild for parallel compiling... i also need parallel linking but i couldnt manage it for linking. 我使用incredibuild进行并行编译...我还需要并行链接,但我无法管理链接。

  • do you know is it possible to make it parallel? 你知道是否有可能使它平行?
  • if there is a way, could you tell me? 如果有办法,你能告诉我吗?
  • if not, do you know any other tools for this purpose? 如果没有,你知道为此目的的任何其他工具吗?

i have too many projects and i need to link them on seperate machines.. 我有太多的项目,我需要在单独的机器上链接它们..

IncrediBuild supports the ability to execute linking in parallel. IncrediBuild支持并行执行链接的功能。 Go to Agent Settings->Visual Studio Builds->General->Allow linking steps to run in parallel 转到代理设置 - > Visual Studio构建 - >常规 - >允许链接步骤并行运行

Linking is not really suceptible to parallel processing because it is the natural serialisation point in the production of a executable: 链接并不是很容易并行处理,因为它是可执行文件生成中的自然序列化点:

  • multiple developers can write code in parallel, because code is in many different source files 多个开发人员可以并行编写代码,因为代码存在于许多不同的源文件中
  • compilers can compile code in parallel, because multiple instances of the compiler can take the many source files and produce many object files 编译器可以并行编译代码,因为编译器的多个实例可以获取许多源文件并生成许多目标文件
  • the linker cannot (easily) work in parallel, because it takes many object files and produces a single executable 链接器不能(轻松地)并行工作,因为它需要许多目标文件并生成单个可执行文件

So I think you will be out of luck, certainly for the commonly used linkers such as MS and gcc. 所以我认为你会失去运气,当然对于常用的连接器,如MS和gcc。

You can link two /projects/ in parallel. 您可以并行链接两个/项目/。

You cannot link a single project in parallel. 您无法并行链接单个项目。 This is because Incredibuild is not a compiler or linker itself - it is just a coordinator on top of the existing VS tools. 这是因为Incredibuild本身不是编译器或链接器 - 它只是现有VS工具之上的协调器。 It spins up multiple instances of the compiler for different source files but the VS linker can only be invoked once to link an entire project. 它为不同的源文件旋转了多个编译器实例,但VS链接器只能被调用一次以链接整个项目。

I used Incredibuild for a while but it has some bugs with edge cases (eg ActiveX interop wrappers) that caused too much trouble. 我使用Incredibuild一段时间但它有一些边缘情况(例如ActiveX互操作包装器)的错误导致了太多的麻烦。 Add to this that Visual Studio can do multi-threaded compiles anyway makes it not worth the money. 除此之外,Visual Studio可以进行多线程编译,无论如何使它不值钱。 (Aside: it is undocumented, but you can do multi-threaded compile in VS2005 by adding /MP C++ project properties.) (旁白:它没有文档,但您可以通过添加/ MP C ++项目属性在VS2005中进行多线程编译。)

There are some general setting suggestions on Improving link time with Incredibuild 有关使用Incredibuild改善链接时间的一般设置建议

You can also skip linking of static libs where you won't distribute them using Incredilink 您也可以跳过静态库的链接,不使用Incredilink分发它们

We found that addition of a signing post build step would stop incredibuild from working on following projects, adding a comment to post build was supposed to help 我们发现添加一个签名帖子构建步骤会阻止incredibuild处理以下项目,为帖子构建添加评论应该有所帮助

rem IncrediBuild_AllowOverlap

See IncrediBuild_AllowOverlap doc 请参阅IncrediBuild_AllowOverlap doc

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM