我希望在java代码中找到一个java,或者配置一个流行的代码编辑器,该编辑器可以理解纯C预处理器(例如,'#if‘,但不像’//#if‘这样的athenna注释预处理器,如下所示:
class Person
{
#if USE_SHORT_ID
short m_Id;
#elif
int m_Id;
#endif
#define DEFAULT_ID 0
#include "some_functions.h"
}原因:我参与了一个java项目,该项目在java代码中定义和宏了C,然后在编译java代码之前运行预处理器。这些代码成长为一个范围,我会迷失:太多的类、成员、函数名称,而没有代码完成。
发布于 2012-09-23 08:52:37
就像“当时看起来是个好主意”之类的东西.
如果所有宏使用都与复制的宏类似,则可能可以执行以下操作:
types.hj:( java头文件的通常扩展名是什么?!)
#if USE_SHORT_ID
#define short id_t
#elif
#define int id_t
#endif然后在*.java文件中执行以下操作:
class Person
{
id_t m_Id;
}然后,当调用预处理器时,强制包含types.hj文件。例如,对于GNU cpp,您可以这样做:
$ cpp -include types.hj PersonP.java -o Person.java对于不禁用IDE自动完成功能,这应该足够了。
如果还有其他更有创意的宏使用..。好吧,那可能行不通。
https://stackoverflow.com/questions/12550860
复制相似问题