我有一些C代码,它有静态初始值设定项,其值来自宏。这些初始化器本质上是我的代码的外部API。我正在寻找一种自动生成代码文档的方法,以便初始化值很容易看到。
例如,下面是一个非常简化的C程序 #include
typedef unsigned int u32;
#define Q 5
#define W 7
#define BaseNum 0x1000
#define CalculateNumber(x) (BaseNum + x)
#define SomeOtherCalc(x,y) (x<<y)
typedef struct
{
u32 a;
} foo;
typedef struct
{
foo f;
} bar;
static const bar myVar[] =
{
{
.f = {
.a = CalculateNumber(SomeOtherCalc(Q,W))*sizeof(u32),
},
},
{
.f = {
.a = CalculateNumber(SomeOtherCalc(W,Q))*sizeof(u32),
},
},
};
void main(void){}
鉴于该程序,我想获得自动生成的文档,其中说
我可以使用 gcc -E 直接从GCC获取一些信息,但它并不能完全解析.f.a的值,也不能将sizeof()完全解析为数字。关于如何获得我正在寻找的东西的任何想法(最好不使用Doxygen)?