在没有 Eclipse 的情况下使用 CDT
Using CDT without Eclipse
我想在项目中使用 CDT 解析器。该项目将是一个命令行独立项目,即不是 Eclipse 插件。
我见过的所有解决方案都需要使用 IWorkspace
。但是,我想在 eclipse 之外的单个文件上使用 CDT 解析器。有什么办法吗?
这取决于你所说的 "without Eclipse" 是什么意思。
CDT 的代码构建在 Eclipse 平台之上,因此您需要 运行 包含 Eclipse 平台的应用程序。但是,应用程序没有理由不能成为命令行应用程序。这些在 Eclipse 社区中被称为 "headless" 个应用程序,您可以找到很多制作一个的教程 (here's one)。
需要 IWorkspace
应该不是问题。你可以例如在临时文件夹中创建一个工作区和一个项目,并将要分析的代码复制到那里。
如果出于某种原因,您真的想在不包含 Eclipse 平台的应用程序中只使用 CDT 的解析器,您可以从 CDT 复制解析器代码,并用您自己的实现替换它在 Eclipse 平台上的任何依赖项。但是,这可能是一种劳动密集型方法,我不推荐它。
我想在项目中使用 CDT 解析器。该项目将是一个命令行独立项目,即不是 Eclipse 插件。
我见过的所有解决方案都需要使用 IWorkspace
。但是,我想在 eclipse 之外的单个文件上使用 CDT 解析器。有什么办法吗?
这取决于你所说的 "without Eclipse" 是什么意思。
CDT 的代码构建在 Eclipse 平台之上,因此您需要 运行 包含 Eclipse 平台的应用程序。但是,应用程序没有理由不能成为命令行应用程序。这些在 Eclipse 社区中被称为 "headless" 个应用程序,您可以找到很多制作一个的教程 (here's one)。
需要 IWorkspace
应该不是问题。你可以例如在临时文件夹中创建一个工作区和一个项目,并将要分析的代码复制到那里。
如果出于某种原因,您真的想在不包含 Eclipse 平台的应用程序中只使用 CDT 的解析器,您可以从 CDT 复制解析器代码,并用您自己的实现替换它在 Eclipse 平台上的任何依赖项。但是,这可能是一种劳动密集型方法,我不推荐它。