c++ - 大型 C++ 项目的推荐 Eclipse CDT 配置是什么(索引器需要永远)

标签 c++ eclipse eclipse-cdt

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

代码库以“3-4 级深度”的方式构建:

/system/${category}/${library}/
/server/${serverName}/${component}/

例子:

/system/CORE/CommandLine/*.cpp
/system/CORE/Connection/*.cpp
...
/server/Authentication/DB/Objects/*.cpp
/server/Authentication/Main/*.cpp

/system/* 下大约有 200 个“模块”,/server/Authentication/* 下大约有 50 个。 还有一个令人惊讶的复杂的制作系统,由想要炫耀他们制作能力的人编写的值(value) 20 年的 make-code :-)

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

1) 两个eclipse cdt项目,分别是/system和/Authentication

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

在这两种方法中,索引都需要很长时间。在方法 1) 上,我遇到了很多 Unresolved 依赖关系问题。使用方法 2) eclipse 几乎没有响应,当我 ctrl+单击一个功能时,我可以去喝杯咖啡,然后在它响应之前回来......

有人参与过这样的大型项目吗?你有什么建议?

最佳答案

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

-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 的 RAM。

为了提高响应能力,您还需要配置 Indexer Cache limits .我建议将所有参数增加 2-3 倍,具体取决于项目大小。

关于c++ - 大型 C++ 项目的推荐 Eclipse CDT 配置是什么(索引器需要永远),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9565125/

相关文章:

c++ - Eclipse CDT C++ NULL 未解析

c++ - omn​​et++ 种子集编号和运行编号

c++ - 数字常量之前的预期标识符

android - 使用 git init 后,项目仍然不是 git 仓库

java - 如何将 .java 文件导入 JSP 页面?

eclipse - 如何设置 Eclipse CDT 来索引/解析 std 文件

c++ - 更改 Eclipse CDT 项目的输出目录

c++ - 循环后变量的内存会发生什么变化? (C++)

c++ - 如何使用set实现无序数据结构?

python - 使用 mechanize 和 urllib 下载 pdf 文件