如何使IDE处理条件编译?

我正在开发一个固件项目,该项目已经演变为多种产品,每个项目都有不同的“功能”,通常通过以下条件编译来添加这些功能:

#ifdef FEATURE_FOO
  #include <some.h>
  int some_function( void* param1) { ... }
#elsif defined(FEATURE_BAR)
  ...
#else
  ...
#endif

我目前正在处理的大多数文件都被此类块包围。

由于我们希望构建不同的功能集而无需更改代码,因此Makefile在相应的目标中包含那些不同的定义作为编译器的参数。

现在让我们来解决问题:

我尝试使用的IDE(Visual Studio Code和CLion)仅对他们认为实际上已编译的代码进行代码突出显示和分析(它们在Makefile中看不到定义),因此几乎不突出显示任何内容,这使得它们几乎无法使用(目前,我的Vim比CLion具有更多的语法突出显示和代码完成功能)。

是否可以告诉IDE哪些定义是在外部设置的? (我目前正在自己​​添加定义,但是那时我根本没有一个干净的工作区,需要在编译之前将其删除)

wxp1818118 回答:如何使IDE处理条件编译?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2986149.html

大家都在问