aa_jj的博客

记录和进步

并行编译加快 VS C++ 项目的编译速度

出自:http://blog.csdn.net/yockie/article/details/16867457

以前完全没有接触过分布式编译,今天因工作需要尝试了一下,绝对很强大,体验也非常好,绝对让编译速度上了一个大台阶,对大项目而言是福音啊~

        下面就记录一下Xoreax IncrediBuild的使用方式。官方提供的是试用版本,网上所谓的破解版也比较多,但大多数都不靠谱,感觉就没破解,最后找到的这个版本,既新(v4.61)而且破解的也好,果断收藏~ Xoreax IncrediBuild v4.61也是VS的插件,支持VS2010、VS2008、VS2005,之前的Xoreax IncrediBuild版本支不支持没做考究。

以下引用自http://software.intel.com/zh-cn/blogs/2012/06/18/vs-c/,文字表达稍有修改

加速编译原理:

        Xoreax IncrediBuild是分布式编译(多线程处理)工具,也称之为联合编译.如果局域网内存在多台电脑安装了这个软件(不要求安装VS),在编译C/C++时,它会查找局域网中空闲的CPU,并将源文件发到空闲CPU一起编译,从而大大缩短了大工程的编译时间.
        IncrediBuild 分为服务端(Coordinator)和客户端(Agent).服务端是协调任务的分配,客户端把分到手的任务编译后再返还回任务请求者,不是服务器, 服务端只负责分配工作,之后客户端之间进行P2P的操作,如果二个客户端建立好链接后,此时再与服务端断开也不会影响他们之间的编译。

安装方法:

1) 服务端(Coordinator)的安装:
运 行IncrediBuild安装程序,选择Install IncrediBuild,并点Next下一步.同意License Agreement继续下一步.来到安装组件选择(Component Selection).这里做为服务端我们要钩先上IncrediBuild Coordinator.这里是一个复选框,一般来说服务端也可以参与编译工作,如果不想让服务端参与编译工作的话,就把上面的IncrediBuild Agent前的钩点掉就可以

        继续下一步,选择安装路径,和使用的一些端口号.参与编译的CPU数(这个只有钩选了Agent后才会有)等,这些使用默认的就可以了.之后安装完成.IncrediBuild的服务端就安装好了.

 

2) 客户端(Agent)的安装:
        在其它的电脑上,运行IncrediBuild的安装程序,运行到安装组件选择(Component Selection),只钩选IncrediBuild Agnet并下一步

        

        选择安装路径,并下一步.在这要填入服务端的IP地址和端口号.

        填好之后下一步,它会与服务器进行验证一下.然后设置一下编译通讯的端口之类的.这与网内安装的其它的一至就行了,一般情况都使用默认.然后选择参与编译的CPU数.最后安装就行了.


        到这步,基本上服务器与客户端都安装完成.在服务端机器上打开CoordinatorMonitor中可以看到各成员的状态.

        打开VS你将会发现菜单栏上多出了一项IncrediBuild的选项.这就是在“IncrediBuild”菜单下进行联合编译了.

        提示:编译的时候关闭杀毒软件。

         以下是编译界面:(很炫~)

 

再附上下载地址:下载v4.61破解版!!!

 

下午在公司机器上测试的过程中发现几个注意的地方,记录一下:

(1)如果某台笔记本使用电池电源,则server将不分配任务给此台机器的CPU;

(2)使用有些的机器,链接使用无线的笔记本时经常连不到,所以最好参与编译的机器在同一网段中;

(3)如果有最新版的,则只要在server端机器上安装最新版即可,安装完成后会提示对其他所有连接的机器都进行update,在线即可对其他安装IncrediBuild的机器进行update,非常方便~

 

        部门准备小推,如果没有问题再全推,确实是提高效率之利器~~

 

如果有使用IncrediBuild进行命令行编译、Windows下Gcc编译、CygWin下编译的需求,可参考这里!

参考资料

https://www.cnblogs.com/lihaiping/p/5787783.html

阅读更多
个人分类: 编译原理
上一篇KEIL、uVision、RealView、MDK、KEIL C51区别
下一篇rose/clearcase/clearquest 区别
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭