IDE for C项目中的预处理器感知代码导航

前端之家收集整理的这篇文章主要介绍了IDE for C项目中的预处理器感知代码导航前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
背景

我花了很多时间来浏览和编辑复杂的科学C代码.通常它们包含数百个使用预处理器指令打开和关闭的可选功能.这使得几乎不可能一目了然地说明当前的设置中是否激活了当前的代码块.代码本身并没有帮助,因为每个特征都在整个地方都被污染,而且通常都是使用全局变量完成的.

是否有一个IDE可以通过折叠/着色非活动代码来处理预处理器指令?

我想可以用一个使用过的标志配置来维护一个项目,并且不受非活动逻辑分支的困扰.

解决方法

看看 similar question看起来Eclipse CDT具有您需要的功能,the other question实际上告诉您可以设置ifdef的位置.

Emacs has something similarhide-ifdef-mode的形式.

但您也可以尝试使用与IDE无关的解决方案,例如在unifdef中运行代码并使用结果.如果您只需要阅读代码,那几乎是完美的解决方案.如果您需要进行一些更改,事情会变得有点复杂,但您可以使用git来管理更改,例如:

>将整个代码库导入git
>通过unifdef
>提交结果,这是补丁的基础
>在您喜欢的任何IDE /编辑器中使用代码库,像往常一样提交更改
>如果需要为原始代码生成补丁,只需检查原始导入提交并从您的分支机构挑选(或重新绑定)您的补丁(当然有可能发生冲突,但它应该很容易解析你知道你对补丁代码的预期更改,你只需要调整ifdefs)
>如果需要更新代码库,只需从原始导入开始,应用更新,提交,运行unifdef,然后在此基础上重新定义更改

当然,这种方法是否有效取决于特定的代码库以及您将要使用它做什么,但它在某些情况下可能很有用.

猜你在找的C&C++相关文章