首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为大型C++项目推荐的Eclipse配置是什么(索引器要花费很长时间)

为大型C++项目推荐的Eclipse配置是什么(索引器要花费很长时间)
EN

Stack Overflow用户
提问于 2012-03-05 10:31:50
回答 3查看 18K关注 0票数 19

我正在编写一些使用"vi“和"emacs”编写的遗留C++代码,并试图构建eclipse设置来维护它(在linux上)。我一直面临的两个主要问题是索引需要很长时间(超过4小时),而且即使完成了,eclipse也几乎没有响应。

代码库是以"3-4层深度“的方式构造的:

代码语言:javascript
复制
/system/${category}/${library}/
/server/${serverName}/${component}/

示例:

代码语言:javascript
复制
/system/CORE/CommandLine/*.cpp
/system/CORE/Connection/*.cpp
...
/server/Authentication/DB/Objects/*.cpp
/server/Authentication/Main/*.cpp

在/system/*下大约有200个“模块”,/server/Authentication/*下大约有50个模块。还有一个令人惊讶的复杂的制作系统,由那些想炫耀自己的制作能力的人编写了20年的制作代码:-)

到目前为止我已经尝试过两种方法

1)两个eclipse项目,即/system和/Authentication

2)每个“模块”有一个eclipse项目,最终得到+200个模块。我甚至计算了模块之间的依赖关系。

在这两种方法中,索引都需要很长时间。在方法1)中,我遇到了一些与未解决的依赖有关的问题。使用方法2) eclipse几乎没有响应,当我ctrl+click一个函数时,我可以去喝杯咖啡,然后在它响应之前回来.

有谁曾参与过像这样的大型项目?你有什么建议?

EN

回答 3

Stack Overflow用户

发布于 2012-03-09 12:08:37

这里的一般建议是为Eclipse提供更多的RAM。首先,您需要调整您的eclipse.ini配置文件,因为默认的配置文件不适合大型项目。这是我的eclipse.ini文件:

代码语言:javascript
复制
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-product
org.eclipse.epp.package.cpp.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms512M 
-Xmx4096M 
-XX:PermSize=256M 
-XX:MaxPermSize=512M

在这里,我使用-Xmx4096M来提供4Gb内存。

要提高响应能力,还需要配置索引器缓存限制。根据项目规模,我建议将所有参数增加2-3倍。

票数 20
EN

Stack Overflow用户

发布于 2014-05-05 14:59:27

使用项目资源筛选器对我帮助很大。我从项目树文件夹中删除了这些文件夹,我不想修改这些文件夹,也不希望提交索引。

要创建一个新的过滤器,只需右键单击项目,然后打开Properties面板,然后到达Resource -> Resource

http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.user/concepts/resourcefilters.htm

有时,如果您的项目源太大(例如:大约5GB ),您需要使用过滤器,否则索引过程永远不会正确结束。

票数 1
EN

Stack Overflow用户

发布于 2017-03-09 06:35:09

在霓虹灯上也需要-Xss8g on eclipse.ini,以防止堆栈溢出。

还可以考虑ulimit -Sv unlimited

在Ubuntu 14.04上测试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9565125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档